如何生成具有种子值的 AES key ,以便每当我生成具有相同种子值的 key 时,我都能获得相同的 AES key ?
我想为我的 Blackberry Pearl 8100 设备生成此 key 。
我无法使用 AESKey(keyData) 生成 AES key 。
此外,每当我以 String 或 byte[] 的形式打印它时,我都无法生成它。(打印它)从不打印实际 key 。
怎么做才能拿到 key ?
更新
我尝试通过传递我的数据的字节 [] 来生成 AESKey,如下所示:
AESKey key = new AESKey(keyData);
每次我得到相同的 key ,这是正确的。
现在使用这个 key 我正在加密数据。每次我加密我都会得到不同的加密值。这是我的问题。加密后如何每次都获得相同的数据,以便将其发送到服务器?
更新
我无法使用 AESKey(keyData) 生成 AES key 。
此外,每当我以 String 或 byte[] 的形式打印它时,我都无法生成它。(打印它)从不打印实际 key 。
怎么做才能拿到 key ?
最佳答案
RFC 2898 中的第 5.2 节描述了一种方法。
具体来说,“种子”值由“密码”和“盐”组成;但是给定相同的密码和盐,将始终产生相同的 key 。
http://anandam.name/pbkdf2/是一个 javascript 实现。
http://en.wikipedia.org/wiki/PBKDF2有更多信息,以及其他实现的链接。
关于blackberry - 使用种子值生成 AES key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861679/