golang での MD5 暗号化と解読の実装方法は何ですか?
Go言語では、MD5暗号化および復号化操作を行うためにcrypto/md5パッケージを使用することができます。以下は簡単なサンプルコードです:
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
)
func encryptMD5(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
func main() {
// 加密
encrypted := encryptMD5("Hello World")
fmt.Println("MD5加密结果:", encrypted)
// 解密(MD5是单向加密算法,无法进行解密)
}
上記のコードでは、encryptMD5関数は文字列を受け取り、それをバイト配列に変換してmd5.Sum関数を使用してMD5暗号化し、その結果をhex.EncodeToString関数を使って文字列に変換して返します。main関数では、文字列”Hello World”をMD5で暗号化するためにencryptMD5関数を呼び出し、暗号化した結果を出力します。
MD5は一方向の暗号化アルゴリズムであり、解読することはできません。MD5で暗号化された結果から元のテキストを復元することはできません。MD5は通常、パスワードなどの機密情報を暗号化して保存するために使用されますが、解読が必要な場面には適していません。