前端加密方式
function encryptByDES(message, key, iv) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var ivHex = CryptoJS.enc.Utf8.parse(iv);
encrypted = CryptoJS.DES.encrypt(message, keyHex, {
iv: ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}
);
return encrypted.ciphertext.toString();
}
后端解密方式: public static string DESDecrypt(string encryptedValue) { try { //将key和IV处理成8个字符 string key = "45632187"; string IV = "45632187"; key = key.Substring(0, 8); IV = IV.Substring(0, 8);
SymmetricAlgorithm sa;
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
sa = new DESCryptoServiceProvider();
sa.Key = Encoding.UTF8.GetBytes(key);
sa.IV = Encoding.UTF8.GetBytes(IV);
ct = sa.CreateDecryptor();
byt = Convert.FromBase64String(encryptedValue);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct,
CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
catch (Exception ex)
{
LogUtility.Debug("DESDecrypt", ex.ToString());
return "";
}
}
出现错误应该如何解决,求求某位大老帮忙解决一下