我们的客户想给我们一个数据库.原始数据库有一个电话号码列.他不想给我们一个电话号码.不知怎的,我不确定为什么 - 决定客户端会给我们加密的电话号码加密128位AES密钥.
我们会告诉客户哪个电话号码是出于某种目的而入围,但我们永远不会知道实际的电话号码是什么.我们只知道加密号码.
这是我不明白的事情:
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)