求助 PHP chr 的golang 實現

heramerom發表於2017-09-13
<?
    $input = "a";
    $md5hex = md5($input);
    $len = strlen($md5hex) / 2;
    $md5raw = "";
    for ($i = 0; $i < $len; $i++) {
        $md5raw = $md5raw.chr(hexdec(substr($md5hex, $i * 2 , 2)));
    }
    $keyMd5 = base64_encode($md5raw);
    echo $keyMd5;
func TestMD5Hash(t *testing.T) {
    input := "a"
    hasher := md5.New()
    hasher.Write([]byte(input))
    md5hex := hex.EncodeToString(hasher.Sum(nil))
    buf := bytes.NewBufferString("")
    for i := 0; i < len(md5hex); i = i + 2 {
        idx, _ := strconv.ParseInt(md5hex[i:i+2], 16, 10)
        buf.WriteString(fmt.Sprintf("%c", idx))
    }
    t.Log(base64.StdEncoding.EncodeToString(buf.Bytes()))
}

請問如何將上面的 PHP 演算法改寫成 Golang 的? 我改寫的下面這個運算結果不一樣。 上面 PHP 輸出 DMF1ucDxtqgxw5niaXcmYQ== 下面 Go 輸出 DMOBdcK5w4DDscK2wqgxw4PCmcOiaXcmYQ==

Update... PHP 程式碼是第三方的,不能修改。

更多原創文章乾貨分享,請關注公眾號
  • 求助 PHP chr 的golang 實現
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章