编码和加密有什么区别?

时间:2011-06-02 12:30:08

标签: winforms encryption encoding

我使用的是Windows窗体和mysql。

我对编码和编码之间的不同感到非常困惑?。

编码也会更改字符串值。和解码是给回字符串。

在我的计划中,......

  • 用户ID - mcs 密码 - mcs

我想将这些字符串存储在mysql数据库中。但出于安全目的,不是相同的字符串。

存储这些数据的安全方法是什么。

编码和编码,最适合此要求。

提前感谢。

我用Google搜索了不同的内容,但直到我不清楚!任何人都告诉我编码和编码之间的区别?对于我的要求我用什么?

离开之前,这个问题只是在Click here

中找到了我的问题

4 个答案:

答案 0 :(得分:3)

简而言之:

  • 编码将数据从一个表示转换为另一个表示,以便 anybody 可以将其转换回来。因此,如果您想阻止其他人查看原始数据,则单独进行编码 根本不用。
  • 加密转换数据的方式只有知道密钥的人才能获得原始数据。

然而,还有第三种选择,这是你可能想要在这种情况下使用的(这是我发布这个的原因,因为其他人已经说明了以上几点):

  • 散列。这会以这样一种方式转换数据:没有人,甚至你都不能获得数据 - 但是,每次散列相同的数据时,都会得到相同的结果。为什么这有用?在您的情况下,通过散列密码,您将实现阻止可以访问数据库的人查看密码的目标。但是,您仍然可以验证尝试登录的人是否提供了正确的密码:只需对用户输入的密码进行哈希处理,如果结果与数据库中存储的密码匹配,则密码是正确的。这是一种标准且强烈推荐的方法;请参阅Wikipedia article on password hashing

答案 1 :(得分:1)

Encoding是根据内存空间(8位等)表示不同字符的方式。 Encryption是如何使用密钥保持文本隐藏的。加密后,文本变成一系列任意字节,因此您使用说Base64编码对其进行编码,以便能够将其转换为可读(且可正常缓存)的字符串。

为了安全起见,您需要在存储到数据库之前加密用户信息。 MySql Encryption有很多功能可以帮助你。

答案 2 :(得分:1)

编码和解码(such as base64)通常与安全过程相关联,但编码数据本身并不是一个安全的过程。编码只是将一组任意字节数据(如jpeg,gif和加密字节)转换为一串文本,这些文本更容易,更安全地存储和传输到各种平台和系统。

通过加密,您实际上可以通过使用密钥将数据处理为不同的加密数据块来保护数据,这些数据块在没有创建密钥的情况下很难破解。如果你有钥匙,解密就会反过来。

要保护您的数据,您需要对其进行加密。为了帮助您存储加密数据,您可能需要对其进行编码,但这是可选的。如果将加密数据存储为db blob,则无需编码。

要获取数据,您需要对其进行解码(如果已编码),然后解密。

答案 3 :(得分:1)

总是谷歌通过快速搜索给出最佳答案..这里的示例说明非常简洁。

http://www.blesta.com/2009/07/26/encoding-vs-encryption/
http://www.perlmonks.org/index.pl?node_id=66249

不要混淆,编码不加密

http://www.di-mgt.com.au/encode_encrypt.html