go处理md5非常简单,就几步而已。

一、知识点

(1)首先要做的

加入”crypto/md5″这个package。

(2)直接上代码

  1. h := md5.New()创建一个md5对象
  2. h.Write([]byte(string))把要转成md5的字符串转换成Byte形式,写入到刚才的md5对象中。
  3. cipherStr := h.Sum(nil)计算md5的Byte值,结果为Byte形式。
  4. hex.EncodeToString(cipherStr)把Byte形式的md5转为string形式,结果为string形式,可以这样赋值 md5edstring = hex.EncodeToString(cipherStr)。

这样得到的就是一个被md5加密后的string了。

(3)写成函数形式

这样输出的就是md5形式的password了。

(4)函数加强

一般来说,不可能只进行简单的md5加密。

为什么?因为这样处理,只要用户输入的password一样,因为没有任何其他的变化,那么md5处理后的string都是一样的,这样的加密就没有安全可言了。

所以有必要提高加密的复杂度:

这里首先是加入了用户名和salt保证加密的string的复杂度,然后进行一次md5处理。

有的方法甚至会进行第二次、第n次md5处理,我这里没这么复杂。

最后再进行一次截取处理。

有的方法甚至会进行更多的截取,拼接….的处理,因为不是研究加密的,就不夸夸其谈了。

二、总结

go的一些集成很方便,一看这些package就知道go是专门做服务端的。

先不说性能,写起代码都比java简单简洁一些。

发表评论

电子邮件地址不会被公开。 必填项已用*标注