winforms - 编码和加密有什么区别?

标签 winforms encryption encoding

我使用的是windows窗体和mysql。

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

encode 也会更改字符串值。解码是返回字符串。

在我的程序中,...

  • 用户 ID - mcs 密码 - mcs

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

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

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

提前致谢。

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

在留下这个问题之前,只需访问 Click here 中我的否决问题即可

最佳答案

简而言之:

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

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

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

关于winforms - 编码和加密有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6214518/

相关文章:

stored-procedures - Firebird ,解密存储过程?

python - pycrypto AES CTR错误: TypeError: CTR counter function returned string not of length 16

android - Android 上的 X264 和 ARM 编码

c# - 禁用在表单中通过箭头键选择控件

C# 在工具箱中包含派生控件

c# - 使用 TableLayoutPanel 的可扩展列(来自代码)

Java文件交换教程: why put the document in a jar before encryption?

function - 函数如何在内存中编码/存储?

encoding - 如何设置 libavcodec 以使用 4 :2:2 chroma when encoding MPEG-2 4:2:2 profile?

c# - DialogResult 框默认为否?