2017-12-02 8 views
0

해시 된 암호를 기반으로 데이터를 암호화하기 위해 256 비트를 사용하고 싶습니다. 문제는 아르곤 2와 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)); 

이것은 다른 출력마다 생산, 그래서 해시를 저장하지 않는 데이터를 해독 할 수 없습니다. (목표는 데이터가 해독되지 못하게하기 때문에 무의미합니다).

+0

해시 된 암호를 기반으로 데이터를 암호화하고 이것을 소금으로 사용 하시겠습니까? –

+0

@RahulSingh 해시 된 암호를 암호화 키로 사용하여 데이터를 암호화하고 싶습니다. –

답변

2

암호를 해시하지 않으려면 암호에서 키를 파생 시키려합니다. 이를 수행하는 표준 방법이 있습니다. 한 가지 예가 있습니다 : PBKDF2 link to wikipedia. 어떤 라이브러리에 aes.encrypt가 있다면, 어떤 종류의 중요한 파생물도있을 가능성이 높습니다.