服务器代码:
cipher = createCipher('aes128', 'password');
str = cipher.update('message', 'utf8', 'base64');
str += cipher.final('base64')
我希望客户端代码(浏览器)具有与上面相同的算法,给定相同的消息和密码,产生与服务器相同的输出。
我尝试了CryptoJS
,SJCL
和其他一些库,但他们使用了iv
和salt
,这使得结果完全不同。在我看来,这种安全性是没有必要的。
(我不确切知道iv
和salt
究竟是什么,我只希望代码可以在没有它们的情况下运行。)
更新:我发现如果不了解加密本身,以这种方式使用函数是一个巨大的错误。 每doc:
密码用于派生密钥和IV,必须是'二进制' 编码的字符串或缓冲区。
我将首先学习一些基础知识。