java - 使用 passPhrase 、saltValue、passwordIterations、initVector、keySize 进行 sha1 加密

标签 java security encryption cryptography sha1

我正在开发 Java 应用程序,我被要求使用以下信息生成安全代码。

Value to be encrypted ="test1234";

passPhrase = "testValue"
saltValue  = "testValue"
hashAlgorithm = "SHA1"
passwordIterations = 2
initVector = "testValue"
keySize = 256

请问有人可以告诉我根据上述值使用 SHA1 算法生成哈希值的方法是什么吗?

最佳答案

这个问题有点模糊,但我想你可能想使用 PBKDF2 来生成哈希。幸运的是,在 Java SE 6+ 中这非常简单

KeySpec spec = new PBEKeySpec(passsword.toCharArray(), salt, 
   iterations, derivedKeyLength);
SecretKeyFactory f = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");

return f.generateSecret(spec).getEncoded();

http://jerryorr.blogspot.com/2012/05/secure-password-storage-lots-of-donts.html 有更深入的解释

关于java - 使用 passPhrase 、saltValue、passwordIterations、initVector、keySize 进行 sha1 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12577737/

相关文章:

java - 使用 java 以编程方式突出显示 MS Word 中的文本

java - 如何创建kafka压缩主题

java - 如何使用 JDOM 删除 SOAP 信封并将 XML 的其余部分作为字符串返回?

java - Java用户账户管理解决方案

android - RNCryptor/JNCryptor - 在 ios 中解密在 android 中加密的字符串

node.js - 如何用nodejs解密cookie

java - DataNucleus 3.0.0 版本需要哪些依赖项?

php - session 劫持在 PHP 中究竟是如何工作的?

amazon-web-services - 使用 --no-verify-ssl 通过 aws cli 将数据复制到 s3。安全与否?

c# - 使用 RSA/ECB/OAEPWithSHA-256AndMGF1Padding 在 Java 中加密,使用 OAEPSHA256 Padding 在 c# 中解密