解密操作对服务器性能颇有消耗。寻思着能不能在前端完成。于是找到了crypto-js。
crypto-js支持各类主流算法。弄个简单点的DES加密。
function decryptByDES(ciphertext, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
使用这个可以配合Data URL做简单的图片解密(有点闲的蛋疼)。
$.get("http://127.0.0.1/image/image.data",function(data){
var result = decryptByDES(data,'123');
var image = "data:image/jpeg;base64,"+result;
$('#show').attr("src", image);
}