我想对16位信用卡号码应用AES 128位算法。如何将16位信用卡号转换为128位AES纯文本?这就是我正在做的事情:
这是正确的方法吗?
答案 0 :(得分:0)
在加密信用卡号码(或任何固定长度的字符串)时,我的建议是使用Format-Preserving Encryption。顾名思义,格式保留加密方案的目标是安全加密,同时保留明文数据的原始格式。简而言之,16位cc编号可以加密到16位数字,因此加密长度是相同的。
相反,在ECB模式下使用AES-128进行加密,得到的密文将为64位。另一个缺点是相同的明文块被加密成相同的密文块;因此它不能很好地隐藏模式。
由于您的环境和意图未包含在问题中,因此很难提供实施示例,但如果您想加密可以用作明文的cc编号,那么格式保留加密是您最好的选择。< / p>