簡體   English   中英

基於哈希密碼加密數據

[英]Encrypt Data Based on Hashed Password

我想使用AES 256位基於哈希密碼對數據進行加密。 問題在於,像argon2和bcrypt之類的哈希會自動添加一個鹽,因此每次的密碼都不相同。 有什么辦法嗎?

這是我嘗試過的一個示例:

const aes = require("aes256");
const argon2 = require("argon2");
const pass = process.argv[2];
const data = process.argv[3];
argon2.hash(pass).then(result => console.log(aes.encrypt(result, data));

每次都會產生不同的輸出,因此除非保存哈希,否則無法解密數據。 (這將毫無意義,因為目標是防止數據被解密)。

您不想散列密碼以產生密鑰-您想從密碼派生密鑰。 有標准的方法可以做到這一點。 這是一個示例: 指向Wikipedia的 PBKDF2 鏈接 如果您在某些庫中具有aes.encrypt,則也存在某種密鑰派生的機會很高。

暫無
暫無

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

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