请告知我们使用加密的情况

rov*_*r12 0 encryption aes

我们的客户想给我们一个数据库.原始数据库有一个电话号码列.他不想给我们一个电话号码.不知怎的,我不确定为什么 - 决定客户端会给我们加密的电话号码加密128位AES密钥.

我们会告诉客户哪个电话号码是出于某种目的而入围,但我们永远不会知道实际的电话号码是什么.我们只知道加密号码.

这是我不明白的事情:

  1. 是否使用适合此目的的128位AES密钥加密?
  2. 如果客户端保留用于转换数字的AES密钥,或者客户端应该保留密钥而不是保留密钥创建一个数据库来映射带有加密数字的orignal数字
  3. 应该使用相同的密钥来转换所有数字或不同的数字
  4. 如果随机生成的密钥用于加密数字,那么对于两个电话号码,加密文本可能是相同的吗?

Eri*_*ler 5

IMO这是错误的做法.客户端应该只用一个指向带有真实电话号码的表的ID替换它们,而不是加密电话号码,这仍然有可能让你解密它(例如因为有人泄漏了密钥).当然,这个查找表和他在一起,你永远不会得到它.

IE

原表:

Name   | Phone
-------+---------
Erich  | 555-4245
Max    | 1234-567
Run Code Online (Sandbox Code Playgroud)

你得到:

Name   | Phone
-------+---------
Erich  | 1
Max    | 2
Run Code Online (Sandbox Code Playgroud)

只有您的客户有:

ID | Phone
---+---------
1  | 555-4245
2  | 1234-567
Run Code Online (Sandbox Code Playgroud)