.NET (C#) 클라이언트에서 CryptSharp Library을 사용하여 무작위로 생성 된 소금 (Blowfish)으로 사용자의 암호를 해시합니다.C#에서 임의의 소금으로 해싱 하시겠습니까?
그런 다음 해쉬 된 암호를 MySQL 데이터베이스에 저장된 원격 서버로 보내십시오.
동일한 일반 텍스트 암호를 사용하여 로그인을 시도하면 보낸 내용과 데이터베이스에 저장된 내용간에 해시가 일치하지 않습니다. (대부분 소금이 매번 바뀌기 때문에)
PHP 끝 부분에 암호화되지 않은 일반 텍스트 암호를 보내지 않으려 고합니다. 정적 소금을 사용하지 않고 어떻게 이것을 할 수 있습니까?
해싱 (C 번호) :
string passHash = Crypter.Blowfish.Crypt(Password.Text, Crypter.Blowfish.GenerateSalt());
내가 등록시 클라이언트의 소금을 저장하는 새 열을 생성해야하지 선호하지만, 내가해야 내가됩니다 것입니다.
왜 당신이 사용하는 복어? .NET 프레임 워크에서 직접 해시를 생성하는 다른보다 간단한 방법이 있습니다. Blowfish를 사용하는 특별한 이유가 있습니까? –
Bcrypt (Blowfish)가 아니라면 무엇을 권하고 싶습니까? – user1954141
SHA1Managed에서 .NET Framework를 사용하십시오. 아래 답변을 참조하십시오. –