【发布时间】:2016-12-02 10:46:43
【问题描述】:
我想在 JavaScript 中实现以下代码,而不是使用 javax.crypto 包。
以下代码将使用 AES 生成密钥。
KeyGenerator kgen;
String key;
try {
kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey secretkey = kgen.generateKey();
BASE64Encoder encode = new BASE64Encoder();
key = encode.encode(secretkey.getEncoded());
} catch (NoSuchAlgorithmException e) {
// exceptionLogFile(e, null);
e.printStackTrace();
key = "Error@SecretKeyGeneration: No Such Algorith Exception. " + e.getMessage();
} catch (Exception e) {
// exceptionLogFile(e, null);
e.printStackTrace();
key = "Error@SecretKeyGeneration: " + e.getMessage();
}
return key;
这在 Java 中完美运行,现在任何人都可以建议我在 JavaScript 中替代。
我了解了Crypto.js,但我在这里如何使用,不明白。
对于加密和解密,我使用的是"AES/ECB/PKCS5Padding",所以它与 javascript 代码兼容吗?
请帮忙。
提前致谢。
【问题讨论】:
-
欧洲央行不安全。传输模式安全的 CBC 也是如此。
-
最好抛出 RuntimeException 而不是返回一个奇怪的字符串。尽量避免创建“字符串类型”软件(查找它!)。
标签: javascript encryption aes cryptojs key-generator