使用AES算法的信用卡号加密

时间:2014-03-17 13:10:24

标签: encryption

我想对16位信用卡号码应用AES 128位算法。如何将16位信用卡号转换为128位AES纯文本?这就是我正在做的事情:

  1. 为每个数字应用ASCII十六进制值
  2. 每个十六进制值转换为4位二进制数
  3. 对于每个十进制数字,有8位位
  4. 这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

在加密信用卡号码(或任何固定长度的字符串)时,我的建议是使用Format-Preserving Encryption。顾名思义,格式保留加密方案的目标是安全加密,同时保留明文数据的原始格式。简而言之,16位cc编号可以加密到16位数字,因此加密长度是相同的。

相反,在ECB模式下使用AES-128进行加密,得到的密文将为64位。另一个缺点是相同的明文块被加密成相同的密文块;因此它不能很好地隐藏模式。

由于您的环境和意图未包含在问题中,因此很难提供实施示例,但如果您想加密可以用作明文的cc编号,那么格式保留加密是您最好的选择。< / p>