我需要的是加密将显示在二维条码中的字符串(PDF-417),这样当有人想要扫描它时就不会有任何可读性.
其他需求:
它必须足够简单,以摆脱窥探的人,并容易解密其他有兴趣获取数据的公司.他们打电话给我们,我们告诉他们标准或给他们一些简单的密钥,然后可以用于解密.
可能这些公司可以使用不同的技术,因此坚持一些与某些特殊平台或技术无关的标准会更好.
你有什么建议?是否有一些Java类在执行高安全性标准时没有太多的复杂性来执行encrypt()decrypt()?
可以通过此代码生成AES密钥
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
Run Code Online (Sandbox Code Playgroud)
但
如果我有一个"非常可靠"的方法来生成随机数,我可以用这种方式使用它
SecureRandom rnd = new SecureRandom();
byte[] key = new byte[16];
rnd.nextBytes(key);
Run Code Online (Sandbox Code Playgroud)
这种方法可靠获得的关键是什么?
或者它只能由一些SPECIAL算法生成
我正在尝试建立一个AES文件加密/解密。我使用了一些简洁的教程和指南,但我想知道Key和之间的区别SecretKey。对于上下文,我使用了以下文章,第一篇文章使用SecretKey(Duncan的回复),第二篇文章使用Key(Shankar的回复)并带有一些keyValue字节数组。
我的猜测是,仅使用Key(shankar的答案)编码某些值并不像使用SecretKey(Duncan的答案)随机进行编码那样安全。
问题:密钥和秘密密钥之间有什么区别,keyValue第二个帖子(密钥)中包含什么原因?不能Key像邓肯那样随机生成SecretKey吗?