Winforms 编码和加密有什么不同?

Winforms 编码和加密有什么不同?,winforms,encryption,encoding,Winforms,Encryption,Encoding,我正在使用windows窗体和mysql 我很困惑编码和加密之间的区别 encode还可以更改字符串值。解码就是返回字符串 在我的程序中 用户ID-mcs 密码-mcs 我想将这些字符串存储在mysql数据库中。但为了安全起见,不是同一个字符串 存储这些数据的安全方式是什么 编码和说明最适合此要求 提前谢谢 我在谷歌上搜索不同的,但直到我不清楚为止!。有人请告诉我编码和加密的区别吗?。根据我的要求,我用什么 在离开这个问题之前,请看一下我在中的反对票问题,不同的字符是如何根据它们的存储空间(

我正在使用windows窗体和mysql

我很困惑编码和加密之间的区别

encode还可以更改字符串值。解码就是返回字符串

在我的程序中

  • 用户ID-mcs 密码-mcs
我想将这些字符串存储在mysql数据库中。但为了安全起见,不是同一个字符串

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

编码和说明最适合此要求

提前谢谢


我在谷歌上搜索不同的,但直到我不清楚为止!。有人请告诉我编码和加密的区别吗?。根据我的要求,我用什么

在离开这个问题之前,请看一下我在

中的反对票问题,不同的字符是如何根据它们的存储空间(8位等)来表示的。如何使用密钥隐藏文本。加密后,文本将变成一系列任意字节,因此您可以使用Base64编码对其进行编码,以使其成为可读(并且可以正确缓存)的字符串

为了安全起见,在存储到数据库之前,您需要加密用户信息。有许多功能可以帮助您实现这一点。

编码和解码()通常与安全过程相关联,但编码数据本身并不是一个安全过程。编码只是将任意一组字节数据(如JPEG、GIF和加密字节)转换成一个文本字符串,以便在各种平台和系统之间更方便、更安全地存储和传输

使用加密,您实际上可以通过使用密钥将数据处理为不同的加密数据块来保护数据,如果没有创建数据的密钥,数据块很难被破坏。如果您有密钥,解密的作用正好相反

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


要想找回数据,你需要对数据进行解码(如果你编码了),然后解密。

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


不要混淆,编码不是加密

简而言之:

  • 编码将数据从一种表示形式转换到另一种表示形式,任何人都可以将其转换回来。因此,如果您想阻止其他人看到原始数据,单独编码根本没有用处
  • 加密以这样一种方式转换数据,即只有知道密钥的人才能取回原始数据
但是,还有第三种选择,这是您在本例中可能希望使用的(这就是我发布此内容的原因,因为其他人已经说明了上述几点):

  • 散列。这将以这样一种方式转换数据,即没有人(即使是您)可以取回数据-但是,每次对相同的数据进行哈希运算时,您将得到相同的结果。这为什么有用?在您的情况下,通过散列密码,您将实现防止能够访问数据库的人看到密码的目标。但是,您仍然可以验证尝试登录的人是否提供了正确的密码:只需对用户输入的密码进行哈希运算,如果结果与数据库中存储的密码匹配,则密码是正确的。这是一种标准且高度推荐的方法;看

根据我的要求,我使用什么?使用mysql加密功能。请参阅链接。您对编码的定义太窄,您可能正在考虑字符编码。然而,编码通常以某种方式表示数据,更适合于手头的任务(例如,原始视频到MPEG也是编码),而且,我怀疑在这种情况下是否应该使用加密(存储密码)。正如@Aasmund所指出的那样,散列可能更好(Linux就是这样做的)。您对加密的定义太窄了,您可能正在考虑对称加密。散列也被认为是单向加密:)谢谢你。所以我想加密数据,并对其进行编码以存储。我可以使用base64进行编码吗?谢谢你,我今天越过了投票限制。我投你赞成票!。是的,base64是一种很好的编码方式。这就是我提到它的原因。”…变成一个文本字符串”-不一定。将图像转换为jpeg或视频转换为mpeg也是编码。我不会忘记编码不是加密@!。BZ我投了7票赞成票!哈哈…谢谢你。我今天超过了投票限制。我投你赞成票!。我不是说你忘记了编码和加密的区别。我只是留在你身边。无论如何,谢谢你,别忘了点击投票部分下面的勾号符号(V)谢谢你,我今天过了投票限制。我投你赞成票+1为了建议使用散列来存储密码,也为了正确定义您都不使用的编码,应该对密码进行散列,这样您就不会将密码存储在数据库中。这很不安全。在本页右上角的搜索框中键入“哈希密码”。