HTTP 経由で SHA256 ハッシュ文字列をサーバーに送信しようとしています。サーバーでは、SHA256 ハッシュを実行して 2 つの一致を確認することで認証したいと考えています。テスト目的で同じ文字列を使用していますが、結果は一致しません。これは、base64_encode 呼び出しのデフォルトのエンコーディング スキームを使用したものでしょうか? ありがとう。
PHPで私はやっています:
$sha = hash("sha256", $url, true);
$sha = base64_encode(urlencode($sha));
そしてGoで私はやっています
//convert string to byte slice
converted := []byte(to_hash)
//hash the byte slice and return the resulting string
hasher := sha256.New()
hasher.Write(converted)
return (base64.URLEncoding.EncodeToString(hasher.Sum(nil)))