解开密码或保存未加密的密码C# [英] Unhashing a password or holding unhashed password C#
问题描述
背景
我正在制作个人密码保险库。我将是唯一一个使用它并维护它的人。我正在做密码学实践作为一个个人项目。
有什么作用
我有一个登录页面链接到数据库中的用户表存储我的用户名和已被盐渍和散列的密码。我有方法检查我在密码字段中输入的数据库中的哈希/盐渍密码,并且所有工作都正常,所以我可以成功登录。
我需要帮助如果可能
我想让我的应用程序登录,并且我列出了所有我输入密码的地方,例如。数据网格中的其他应用程序,网站等。我将点击一个我想要的,点击一个按钮,一个消息框将显示一个未经过哈希的密码版本。从我读过的一个哈希密码是不可取的,所以不知道最好的办法是什么,如果可能的话,除了存储非哈希密码(这会破坏对象!)。
干杯
哈希的核心原则是它就像你读过的那样 one way 。由于您希望能够在您的数据和安全版本之间执行双向转换,因此您需要使用加密,该加密专门用于对有问题的数据进行加密和解密。
BACKGROUND
I am making a personal password vault. I will be the only one that uses it and maintains it. I am doing it to practice cryptography as a personal project.
WHAT WORKS
I have a login page which is linked to a "Users" table in the database that stores my username and a password that has been salted and hashed. I have the method that will check what I type in the password field against the hashed/salted password within the database and that all works fine so I can log in successfully.
WHAT I REQUIRE HELP WITH IF POSSIBLE
I wanted my app to log me in and I have a list of all places I type in a password eg. other apps, websites etc. within a datagrid. I will click on the one I want, click a button and a messagebox will show up with an unhashed version of the password. From what I have read a hashed passsword is unhashable so didn't know what the best way to this would be, if at all possible, other than to store unhashed passwords (which defeats the object!).
Cheers
A central principle of a hash is that it is one way, as you have read. Since you want to be able to perform a two way conversion between your data and a secured version you need to use encryption, which is specifically designed to both encrypt and then later decrypt the data in question.
这篇关于解开密码或保存未加密的密码C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!