java - 代码行中发生了什么?

标签 java cryptography aes

这行代码发生了什么?

SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");

我特别不明白 getInstance("PBKDF2WithHmacSHA1") 部分

最佳答案

这个看起来很时髦的字符串定义了要使用的 key 算法。它是:

PBKDF2WithHmacSHA1
PBKDF2 With Hmac SHA1
  • PBKDF2 函数(来自 PKCS#5 版本 2.0)
  • 将使用 SHA-1 HMAC 作为其伪随机数生成器

引用文献:
我们在 Java Crypto Extension Guide Appending A 中找到类似的算法名称,不知何故,PKCS5 版本 2 可能尚未可用/记录在案(或者确实如 brianegge 所建议的那样,可能是导出限制问题,这是加密项目的常见问题)。
算法名称确实出现在 RFC3962 中(AES for Kerberos)这可能不是您想要的应用程序,但定义相同)

关于java - 代码行中发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1761155/

相关文章:

java - REST Web服务jpa更新语句

javascript - 如何使用 pidCrypt 进行 AES CBC 加密,然后使用 phpseclib 解密?

Java AES 加密 - 在客户端和服务器之间发送初始化 vector

Golang AES 在通过 http 流式传输视频之前解密视频

java - 自动在 'System.out.println()' 语句中显示日期

java - java获取所有Top N排名记录

java - 多态和正常声明 arrayList 之间的区别?

ios - 在 iOS (Swift) 中生成后获取 RSA key 对作为字符串?

c++ - SSLSniff错误: "SSL Accept Failed"

java - 如何在 Java 中使用 AES 加密数据