我正在使用Java语言进行基于密码的文件加密;我使用AES作为底层加密算法,并使用以下代码(我从本站点上另一个慷慨的帖子中获得)使用PBKDF2WithHmacSHA1
从盐和密码组合中获得密钥。
SecretKeyFactory f = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec ks = new PBEKeySpec(password,salt,1024,128);
SecretKey s = f.generateSecret(ks);
Key k = new SecretKeySpec(s.getEncoded(),"AES");
我共享盐,用户在每一端输入他们的密码,并且加密和解密工作正常:-)我的问题是,我希望在开始(可能很长的)解密过程之前能够验证用户输入的密码是正确的。我知道PBKD规范包含一个可选的2字节验证值,但我不确定如何使用上面的方法生成此值。Java对此提供支持吗?如果不支持,那么什么是安全的替代方案?
耽误您时间,实在对不起。
https://stackoverflow.com/questions/2375541
复制相似问题