2021年10月25日月曜日

golang で bcrypt を使う方法

golang で bcrypt を使う方法

概要

Ruby で使う方法はこちら
Python で使う方法はこちら

今回は golang で使う方法を紹介します

環境

  • macOS 11.6
  • golang 1.17

パスワードのハッシュ化

package main

import (
	"fmt"
	"golang.org/x/crypto/bcrypt"
)

func main() {
	pass := "hoge"
	hash, err := bcrypt.GenerateFromPassword([]byte(pass), bcrypt.DefaultCost)
	if err != nil {
		panic(err)
	}
	fmt.Println(string(hash))
}

ハッシュ化パスワードとの比較

package main

import (
	"golang.org/x/crypto/bcrypt"
)

func main() {
	hash := "$2a$08$vQc70PtoxLTdIc4qi/nlZ.Qjfps150pJzrn6J3oRf4pkOY0uQ5BTO"
	pass := "hoge"
	err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(pass))
	if err != nil {
		panic(err)
	}
}

参考サイト

0 件のコメント:

コメントを投稿