Encryption 加密字符串时,添加/预先添加某些内容以避免对密码器进行反向工程是否有意义?

Encryption 加密字符串时,添加/预先添加某些内容以避免对密码器进行反向工程是否有意义?,encryption,encoding,Encryption,Encoding,假设我想加密一些字符串。。。说出用户的电子邮件地址。在这种情况下,最好将电子邮件地址加密为字符串: "sometext:" + email (解密时,删除额外前缀) 而不仅仅是电子邮件地址本身?我担心的是,如果我们在某处公开加密字符串,可能有人能够生成足够多的加密字符串(及其纯文本版本),并能够自行设计加密电子邮件地址 想法?这取决于你将要使用的算法。如果你使用弱的,是的,无论你可能附加什么字符串,它仍然是可破解的 如果您使用非常强大的加密机制,这将大大增加您的安全性。这取决于您将要使用的算法

假设我想加密一些字符串。。。说出用户的电子邮件地址。在这种情况下,最好将电子邮件地址加密为字符串:

"sometext:" + email
(解密时,删除额外前缀)

而不仅仅是电子邮件地址本身?我担心的是,如果我们在某处公开加密字符串,可能有人能够生成足够多的加密字符串(及其纯文本版本),并能够自行设计加密电子邮件地址


想法?

这取决于你将要使用的算法。如果你使用弱的,是的,无论你可能附加什么字符串,它仍然是可破解的


如果您使用非常强大的加密机制,这将大大增加您的安全性。

这取决于您将要使用的算法。如果你使用弱的,是的,无论你可能附加什么字符串,它仍然是可破解的


如果您使用非常强大的加密机制,这将大大提高您的安全性。

这项技术已经众所周知,并且非常常见

如果您对salt保密,请将其与输入混合,并将其输入到加密散列函数中,您应该是安全的。然而,你应该确保你在做什么,尤其是在做加密的时候!使用sha1的盐渍示例:

saltedHash = sha1(salt + input)
现在可以存储结果哈希。如果需要将给定的输入与存储的输入进行比较,可以执行相同的过程并比较salt散列


Sitenote:如果您将此应用于一个应用程序,您不应该在不阅读有关秘密前缀/后缀哈希和练习加密的内容的情况下继续进行下去。

这种技术已经众所周知,并且非常常见

如果您对salt保密,请将其与输入混合,并将其输入到加密散列函数中,您应该是安全的。然而,你应该确保你在做什么,尤其是在做加密的时候!使用sha1的盐渍示例:

saltedHash = sha1(salt + input)
现在可以存储结果哈希。如果需要将给定的输入与存储的输入进行比较,可以执行相同的过程并比较salt散列


Sitenote:如果您将此用于加密,则在未阅读有关秘密前缀/后缀哈希和练习加密的内容之前,不应继续进行。

攻击您知道全部或部分明文的加密密码称为加密密码。现代密码(如AES)就是抵御这种攻击的证据。如果您愿意,您可以添加额外的salt,但如果您使用像AES这样的优秀现代密码,则不会真正提高安全性。

攻击您知道全部或部分明文的加密密码称为a。现代密码(如AES)就是抵御这种攻击的证据。如果愿意,您可以添加额外的salt,但如果您使用的是像AES这样的优秀现代密码,则不会真正提高安全性。

AES或任何其他安全密码都受到纯文本攻击的保护。但是,如果使用不正确,您仍然可以从中检索数据。例如,当使用流密码模式时,如果不使用唯一的NONCE,则可以检索纯文本。另一种检索信息的常用方法是查看密文的大小

如果您使用更常见的模式,如CBC加密,则应使用与随机数(对攻击者而言)无法区分的IV。然后,您可以在密码文本前加上该IV。如果不这样做,那么攻击者只需将密文的第一个字节与其他密文进行比较。如果这些名称相同,则攻击者可能看到一个通用名称。IV可以防止这种情况

再次阅读文本时,您试图实现的是对其他人向您发送密文的某种保护,该密文在解密后可能被解释为有效邮件。这可以通过使用MAC或HMAC(使用另一个密钥)添加完整性保护或使用提供完整性保护的模式(如GCM)来避免。这将保护您免受此类做法的影响,但不会防止重播攻击。您需要加密或验证某种类型的唯一令牌(发送方+序列号),以实现针对该场景的保护


不幸的是,仅仅添加静态文本对任何情况都没有帮助。

AES或任何其他安全密码都可以防止纯文本攻击。但是,如果使用不正确,您仍然可以从中检索数据。例如,当使用流密码模式时,如果不使用唯一的NONCE,则可以检索纯文本。另一种检索信息的常用方法是查看密文的大小

如果您使用更常见的模式,如CBC加密,则应使用与随机数(对攻击者而言)无法区分的IV。然后,您可以在密码文本前加上该IV。如果不这样做,那么攻击者只需将密文的第一个字节与其他密文进行比较。如果这些名称相同,则攻击者可能看到一个通用名称。IV可以防止这种情况

再次阅读文本时,您试图实现的是对其他人向您发送密文的某种保护,该密文在解密后可能被解释为有效邮件。这可以通过使用MAC或HMAC(使用另一个密钥)添加完整性保护或使用提供完整性保护的模式(如GCM)来避免。这将保护您免受此类做法的影响,但不会防止重播攻击。您需要加密或验证某种类型的唯一令牌(发送方+序列号),以实现针对该场景的保护


不幸的是,仅仅添加静态文本对任何情况都没有帮助。

您刚才已经描述过了。)应该使用它,但单靠salt无法解决弱(或弱实现)加密算法的问题。啊,是的,但看起来salt通常是随机生成的。使用