우리는 모바일 (nodejs) 및 데스크탑 (java) 응용 프로그램에 하나의 db (mongo)를 사용하고 있습니다.동일한 데이터베이스를 사용하여 java 및 nodejs에서 hash 및 salt를 생성하는 방법
문제는 두 앱에 서로 다른 로그인/가입 레스트 서비스를 사용하고 싶다는 것입니다. 현재 가입 모듈은 java (암호화)에서만 구현됩니다. java의 SecureRandom 라이브러리를 사용하여 소금을 만들고 db에 넣은 다음 암호 해시를 생성하는 데 사용합니다. 그런 다음 사용자가 로그인하면 사용자의 소금 (존재한다고 가정)을 얻은 다음 db의 소금을 사용하여 해시 암호를 다시 생성 한 다음 데이터베이스에서 생성 된 해시 암호를 비교합니다.
문제는 nodejs에 있습니다. java에서 생성 된 것과 같은 정확한 소금을 생성 할 모듈/라이브러리를 찾을 수 없습니다.
암호화되지 않은 암호를 nodejs에 해시 한 다음 java에서 생성 된 db의 해시 된 암호와 비교해야합니다.
어떻게이 문제에 접근합니까? 어떤 도움이라도 대단히 감사 할 것입니다. 감사.
'java에서 생성 된 것과 같은 정확한 소금'이란 무엇입니까? 소금은 임의 비트의 목록 일뿐입니다. – Algiz
요점은, 나는 암호로 고쳐 쓴 암호를 nodejs에 해시 한 다음 java에서 생성 된 db의 해쉬 된 암호와 비교할 필요가있다. – Barry
나는 혼란스러워하므로 암호를 해시하는 방법을 잘못 이해했다고 생각합니다. 아래 기존 답변을 읽어보십시오. 필요한 경우 https://crackstation.net/hashing-security.htm에 좋은 기사가 있습니다. – Algiz