我想使用 Windows 用户名作为 key 来加密和解密文本。
但是当我尝试时, key 太短了: 无效的 AES key 长度:7 个字节
我必须在使用前对 key 进行编码吗?
提前致谢
最佳答案
技术上 - key 需要 128 位长(或 192 或 256 位)。最简单的方法是使用填充(附加一些常量值以扩展到所需的长度)。
这种方法高度不安全,您可以将这种方法视为编码,而不是加密。
需要适当的加密
拥有 key secret 。如果代码/配置驻留在用户的工作站上,这确实很难实现,但从安全角度来看,使用用户名听起来是一个非常糟糕的主意
对 key 加盐。使用随机盐和哈希函数(例如 PBKDF2)从密码创建加密 key 。
关于JAVA - 在 AES 128 中使用 Windows 用户名加密文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370064/