Go/App Engine의 안전한 비밀번호 해싱
Go/App Engine 애플리케이션에서 사용자 비밀번호를 해싱하는 경우 보안을 보장하는 것이 중요합니다. 구현의. 이 기사에서는 syscall 사용으로 인해 App Engine에 제한이 있는 bcrypt 라이브러리에 대한 대체 방법을 살펴봅니다.
대체 옵션
권장되는 접근 방식 중 하나는 다음을 사용하는 것입니다. bcrypt와 pbkdf2 모두의 순수 Go 구현을 제공하는 go.crypto 패키지입니다. 이러한 구현은 App Engine에서 사용하기에 적합합니다.
bcrypt 사용
bcrypt를 사용하려면 go get을 사용하여 패키지를 설치하고 코드로 가져옵니다.
<code class="go">import "golang.org/x/crypto/bcrypt"</code>
비밀번호를 해시하려면 다음과 같이 generateFromPassword 함수를 사용하세요.
<code class="go">func Crypt(password []byte) ([]byte, error) { defer clear(password) return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) }</code>
pbkdf2 사용
더 간단한 해싱 메커니즘을 선호한다면 다음을 사용할 수 있습니다. pbkdf2:
<code class="go">import "golang.org/x/crypto/pbkdf2" func HashPassword(password, salt []byte) []byte { defer clear(password) return pbkdf2.Key(password, salt, 4096, sha256.Size, sha256.New) }</code>
결론
bcrypt와 pbkdf2는 모두 Go/App Engine 애플리케이션에서 비밀번호 해싱을 위한 안전하고 효율적인 옵션을 제공합니다. go.crypto에서 사용할 수 있는 순수 Go 구현을 사용하면 코드의 보안과 호환성을 보장할 수 있습니다.
위 내용은 Go/App Engine에서 비밀번호를 안전하게 해시하는 방법: bcrypt 이상의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!