簡體   English   中英

安全地在數據庫中存儲1個密碼

[英]Storing 1 password in database securely

我有一個Java swing應用程序,該應用程序從登錄頁面開始,如果登錄經過驗證,則應將admin轉到儀表板。 由於只有1個管理員,因此只有1個用戶名和密碼組合。

現在,我只是使用簡單的插入查詢將用戶名和密碼插入sql表。 我是新來的,所以我不知道該怎么做

create table login (
    Emp_id INT AUTO_INCREMENT PRIMARY KEY,
    Emp_Fname VARCHAR(50),
    Emp_Lname VARCHAR(50),
    Username VARCHAR(50),
    Password VARCHAR(50)
);
insert into login (Emp_id, Emp_Fname, Emp_Lname, Username, Password) values (1, 'TestFName', 'TestLName', 'Test', 'Test');

我希望將其加密或散列,而不是將密碼存儲為純文本格式。

我目前正在用手機打字,請原諒。 您似乎希望您的密碼看起來像:eive29ceic28e8c38d9h3ce9h而不是“ password123”

您可以使用SHA-1之類的東西,它在Java中與SHA256和SHA512集成在一起。 兩者都可以在Google快速搜索后找到。 我個人在項目中使用了它們,但是使用一個回合的結果作為下一回合的輸入來遞歸運行此方法100次。 然后,我使用以下方案擴展了字符串的長度:密碼+向后密碼+密碼+密碼。 在我的情況下,密碼的長度為4x512位,似乎相對安全。 之后,我將其保存到文件中,並且每次我要登錄時,都將輸入內容加密並加密,然后將其與文件中的密碼進行比較。 如果它們匹配,您就可以進入。我知道您可以破解sha-1打開它的蠻力。 如果您需要其他內容,請嘗試使用bcrypt,pbkdf2或argon2。

我想給你鏈接,但是在手機上很難。 我希望這對您有用。 否則我明天早上會發表評論

編輯:查看您的評論,有指向我所指算法的鏈接。 只需將其放入for循環100次...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM