2

有没有办法加密一个字符串,所以没有可逆的效果?就像你运行某个算法 100 次,加密一条消息,你可以反向运行 100 次并得到正确的。是否有消除这种可能性的技术或方法?

4

1 回答 1

0

根据您的需要,您应该研究两大类:

加密哈希函数

加密散列函数基于任意长的输入产生固定宽度的值,这样即使输入中非常小的变化也会导致输出显着不同。通常,它们是不可逆的(尽管在某些算法中发现了缺陷)。如果您不需要自己恢复字符串的值,这是一个不错的选择。例如,良好的用户名/密码验证系统存储密码的哈希而不是密码本身,并通过将该哈希与用户提供的密码的哈希进行比较来进行身份验证。这样,即使用户名/密码数据库被泄露,用户密码也不会暴露。

公钥密码学

在公钥密码术中,发送者使用预期接收者的“公共”密钥来加密消息,而接收者使用他们的“私人”密钥来解密它。该消息不能用加密它的相同密钥解密,因此从这个意义上说,该算法不是严格“可逆”的(拼接头发,我知道)。TLS、SSL 和 PGP 都基于这种技术,仅举几个例子。如果您在两个已知方之间传输数据,这可能是您的最佳选择。

于 2013-06-07T15:20:25.547 回答