将密钥保存在文件中,如果是服务器端的话,没什么大问题,你也可以直接将密钥写在代码里。
不存储密钥,使用随机密钥,每次加密的时候的密钥都不一样,需要考虑的就是解密时怎么取到生成的密钥。可以加一些数据来生成密钥,比如用户名、用户密码什么的。4.使用系统提供的密钥容器,进行存储密钥,现在 *** 作系统这么多,存储容器的使用就自己去查看相关 *** 作系统的文档吧。
可以使用电子证书,当然证书你可以存储在 *** 作系统的密钥容器上,或者其它介质中,看你的需要咯。
加强密钥,就是使用多种加密算法,把数据多加密几次,把密钥也加密了。这样的话就是涉及到加密密钥的密钥要存储在哪。
AndroidKeyStore支持将已生成的密钥进行导入,支持AES和HMAC算法。
以HMAC为例
导入密钥:
使用密钥进行加密处理:
加密三次,输出日志
P.S:AES 可存储成功,但取出的SecretKey.getEncoded()为null,猜测是AndroidKeyStore不支持导出?????
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)