我需要的是加密将显示在二维条码中的字符串(PDF-417),这样当有人想要扫描它时就不会有任何可读性.
其他需求:
它必须足够简单,以摆脱窥探的人,并容易解密其他有兴趣获取数据的公司.他们打电话给我们,我们告诉他们标准或给他们一些简单的密钥,然后可以用于解密.
可能这些公司可以使用不同的技术,因此坚持一些与某些特殊平台或技术无关的标准会更好.
你有什么建议?是否有一些Java类在执行高安全性标准时没有太多的复杂性来执行encrypt()decrypt()?
我已经完成了为项目创建Login API的任务,我应该使用PBACSD25和HMACSHA256作为PRF.使用MD5对纯文本密码进行哈希处理,然后将其输入PBKDF2以生成派生密钥.问题是,我无法获得与项目文档告诉我的相同的输出.
这是Java中的PBKDF2实现:
public class PBKDF2
{
public static byte[] deriveKey( byte[] password, byte[] salt, int iterationCount, int dkLen )
throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
{
SecretKeySpec keyspec = new SecretKeySpec( password, "HmacSHA256" );
Mac prf = Mac.getInstance( "HmacSHA256" );
prf.init( keyspec );
// Note: hLen, dkLen, l, r, T, F, etc. are horrible names for
// variables and functions in this day and age, but they
// reflect the terse symbols used in RFC 2898 to describe
// the PBKDF2 algorithm, …Run Code Online (Sandbox Code Playgroud) 我想知道是否有一种方法可以使用PBEKeySpec字节数组参数.
请找到以下文档的链接:
http://docs.oracle.com/javase/1.7/docs/api/javax/crypto/spec/PBEKeySpec.html)