Skip to content

Instantly share code, notes, and snippets.

@sergiotapia
Last active December 5, 2023 03:53
Show Gist options
  • Save sergiotapia/8263278 to your computer and use it in GitHub Desktop.
Save sergiotapia/8263278 to your computer and use it in GitHub Desktop.
Golang - How to hash a string using MD5.
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hasher := md5.New()
hasher.Write([]byte(text))
return hex.EncodeToString(hasher.Sum(nil))
}
@r6m
Copy link

r6m commented Jan 4, 2018

+1 Thanks

@serboox
Copy link

serboox commented Jan 12, 2018

+1 Thanks!

@kj187
Copy link

kj187 commented Jan 12, 2018

+1 Thanks !!

@kisPocok
Copy link

<3

@lengyijun
Copy link

+1 Thanks !!

@jobezic
Copy link

jobezic commented Mar 12, 2018

+1

@elgrim312
Copy link

elgrim312 commented May 4, 2018

+1 thank !

@tonycai
Copy link

tonycai commented May 10, 2018

+1 thank !

@blueturtle13g
Copy link

cool! merci

@JohnDotOwl
Copy link

Thanks!

@sakishum
Copy link

+1 thank !

@krasnobay
Copy link

Thanks :)

@mag002
Copy link

mag002 commented Nov 19, 2018

+1 thanks!

@FrankIT60
Copy link

Thanks !

for big string I use:

import (
    "crypto/md5"
    "fmt"
)

func DigestString(s *string) string {
    return fmt.Sprintf("%x", md5.Sum([]byte(*s)))
}

@soyHouston256
Copy link

Thanks !

@bipin-mi
Copy link

I want to convert string to MD5 with base64 encoded string.
As I get that in PHP as like below.
But I need it in Golang

<?php
$str = "hello";
$str2 = mb_convert_encoding($str, "utf-8");
echo base64_encode(md5($str2,true));

Test url for PHP code "http://sandbox.onlinephpfunctions.com/code/e21dd185093817217427b6cd4e58a223e6ca3b27"
I tried many examples in Golang but didn't get success.

@drumer2142
Copy link

+1 Thanks

@MaximilianKlein
Copy link

+1 Thanks

@sergiotapia
Copy link
Author

sergiotapia commented Jul 17, 2019

Hey Sergio from 2014, you're not using Go anymore for years! You're now on Elixir for three years.

Sergio from 2029, are you an Elixir guru yet? Do you truly grok the Erlang's OTP and all the goodies it gives for free? Keep me posted!

@jjmartin
Copy link

👍 Bueno

@arman-mukatov
Copy link

+2 Thanks

@duzq
Copy link

duzq commented Sep 16, 2019

+1 Thanks

@DaniyarGilimov
Copy link

+1 Thanks from Kazakhstan

@bubunyo
Copy link

bubunyo commented Apr 17, 2020

@sergiotapia what is the importance of hex.EncodeToString?

@rodrigoarino
Copy link

@bipin-mi I have the same problem as you

@bipin-mi
Copy link

bipin-mi commented May 13, 2020

@bipin-mi I have the same problem as you

I get solution with below code snippet

str := "hello"
hasher := md5.New()
hasher.Write([]byte(str))
encodedString := b64.StdEncoding.EncodeToString(hasher.Sum(nil))
fmt.Println(encodedString)

@uhhc
Copy link

uhhc commented Jun 18, 2021

Please see the benchmark of different methods for generating MD5:https://play.golang.org/p/9bAidOZFgFt

@micronull
Copy link

func makeMD5(in string) string {
	binHash := md5.Sum([]byte(in))
	return hex.EncodeToString(binHash[:])
}

@kewlamogh
Copy link

Really helpful, thanks!

@bugielektrik
Copy link

+1 Thanks from Kazakhstan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment