项目里要用到aes加密(由于历史原因,必须采用ECB模式)。
在使用golang进行重构时发现,golang居然不支持ecb模式!原因很简单:因为安全问题。
Golang AES ECB Encryption
http://stackoverflow.com/questions/24072026/golang-aes-ecb-encryption
https://code.google.com/p/go/issues/detail?id=5597
but,作为一个开发语言,安全应该是用户考虑的,作为一个很基础的加密方式,还是要支持的嘛~
好吧,他都说了,如果需要,实现起来也很简单。。。
作为一个拿来主义者,为什么要重复造轮子呢??
其实在go1.1 就有人提交了ecb的 代码,不过由于版本冻结,该功能没有合并进去。
https://codereview.appspot.com/7860047
造福人类,我把代码从那里copy过来了,整理了一下,在此处下载:
https://code.csdn.net/snippets/1576203
用法很简单“
把ecb.go和ecb_aes_test.go 放到C:\Go\src\crypto\cipher 目录下即可。 使用方法见test_ecb.go (注意:测试代码里没有使用padding, 请自己处理。)
有疑问加站长微信联系(非本文作者)
Comment 1: