我使用的是windows窗体和mysql。
我对编码和加密之间的区别感到非常困惑?
encode 也会更改字符串值。解码是返回字符串。
在我的程序中,...
- 用户 ID - mcs 密码 - mcs
我想将这些字符串存储在mysql数据库中。但出于安全目的,不是相同的字符串。
存储这些数据的安全方法是什么。
最适合此要求的编码和加密。
提前致谢。
我在谷歌上搜索了不同的内容,但直到我不清楚!有人请告诉我编码和加密之间的区别吗?对于我的要求我用什么?
在留下这个问题之前,只需访问 Click here 中我的否决问题即可
最佳答案
简而言之:
- 编码将数据从一种表示形式转换为另一种表示形式,任何人都可以将其转换回来。因此,如果您想防止其他人看到原始数据,单独编码没有用处。
- 加密对数据进行转换,只有知道 key 的人才能取回原始数据。
但是,还有第三个选项,这就是您在这种情况下可能想要使用的选项(这就是我发布此内容的原因,因为其他人已经说明了上述几点):
- 散列。这会以这样一种方式转换数据,没有人,甚至是您,都可以取回数据 - 但是,每次散列相同的数据时,您都会得到相同的结果。为什么这有用?就您而言,通过对密码进行哈希处理,您将实现防止可以访问数据库的人看到密码的目标。但是,您仍然可以验证尝试登录的人是否提供了正确的密码:只需对用户输入的密码进行哈希处理,如果结果与数据库中存储的结果匹配,则密码是正确的。这是一种标准且强烈推荐的方法;请参阅Wikipedia article on password hashing .
关于winforms - 编码和加密有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6214518/