【问题标题】:What is the different between encode and encription?编码和加密有什么区别?
【发布时间】:2011-06-02 20:43:55
【问题描述】:

我正在使用 windows 窗体和 mysql。

我对编码和加密之间的区别感到非常困惑?

encode 也改变了字符串值。解码是返回字符串。

在我的程序中,...

  • 用户 ID - mcs 密码 - mcs

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

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

最适合此要求的编码和加密。

提前致谢。

我用谷歌搜索了不同的,但直到我不清楚!有人请告诉我编码和加密之间的区别吗?对于我的要求,我使用什么?

在留下这个问题之前,请在Click here 中查看我的否决问题

【问题讨论】:

  • 您两者都不使用,密码应该经过哈希处理,这样您就不会将密码存储在数据库中。这是非常不安全的。在此页面右上角的搜索框中输入“哈希密码”。

标签: winforms encryption encoding


【解决方案1】:

简而言之:

  • 编码将数据从一种表示形式转换为另一种表示形式,任何人都可以将其转换回来。因此,如果您想防止其他人看到原始数据,那么单独进行编码根本没有用处。
  • 加密以这样一种方式转换数据,只有知道密钥的人才能取回原始数据。

但是,还有第三个选项,您可能会在这种情况下使用它(这就是我发布此内容的原因,因为其他人已经说明了上述几点):

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

【讨论】:

  • 感谢你今天越过了投票限制。我投票给你 2maro!。
  • +1 建议使用散列存储密码,以及正确定义编码
【解决方案2】:

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

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

【讨论】:

  • 对于我的要求我使用什么?
  • 使用mysql加密功能。查看链接。
  • 你对编码的定义太窄了,你可能在考虑字符编码。然而,编码通常是以某种方式表示数据,更适合手头的任务(例如,原始视频到 MPEG 也是编码)
  • 另外,我怀疑在这种情况下应该使用加密(存储密码)。正如@Aasmund 所指出的,散列可能会更好(Linux 就是这样做的)。
  • 你对加密的定义太狭隘了,你可能在考虑对称加密。散列也被认为是一种加密方式:)
【解决方案3】:

编码和解码 (such as base64) 通常与安全程序相关联,但编码数据本身并不是一个安全程序。编码只是将任意字节数据集(例如 jpeg、gif 和加密字节)转换为文本字符串,以便在各种平台和系统之间更轻松、更安全地存储和传输。

通过加密,您实际上可以通过使用密钥将数据处理成不同的加密数据块来保护数据,如果没有创建数据时使用的密钥,很难破解该数据块。只要您有密钥,解密就会相反。

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

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

【讨论】:

  • 谢谢你。所以我想加密数据并对其进行编码以存储。我可以使用 base64 进行编码吗?
  • 感谢你今天越过了投票限制。我投票给你 2maro!。
  • 是的,base64 是一种很好的编码方式。这就是我提到它的原因。
  • "...变成一串文本" - 不一定。将图像转换为 jpeg 或将视频转换为 mpeg 也是编码。
【解决方案4】:

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

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

【讨论】:

  • 我没有忘记编码不是加密@!。 Bzs 我得到 7 票反对!哈……哈……
  • 感谢你今天越过了投票限制。我投票给你 2maro!。
  • 我并不是说你忘记了编码和加密的区别。我只剩下你了。 :)。无论如何,谢谢,不要忘记单击投票部分(V)下方的勾号
猜你喜欢
  • 1970-01-01
  • 2011-03-05
  • 2010-10-01
  • 1970-01-01
  • 2010-09-16
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多