26 Star 238 Fork 48

golang-module / dongle

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
rc4.go 767 Bytes
一键复制 编辑 原始数据 按行查看 历史
package dongle
import (
"crypto/rc4"
)
// ByRc4 encrypts by rc4.
// 通过 rc4 加密
func (e Encrypter) ByRc4(key interface{}) Encrypter {
if len(e.src) == 0 || e.Error != nil {
return e
}
cipher, err := rc4.NewCipher(interface2bytes(key))
if err != nil {
e.Error = invalidRc4KeyError()
return e
}
dst := make([]byte, len(e.src))
cipher.XORKeyStream(dst, e.src)
e.dst = dst
return e
}
// ByRc4 decrypts by rc4.
// 通过 rc4 解密
func (d Decrypter) ByRc4(key interface{}) Decrypter {
if len(d.src) == 0 || d.Error != nil {
return d
}
cipher, err := rc4.NewCipher(interface2bytes(key))
if err != nil {
d.Error = invalidRc4KeyError()
return d
}
dst := make([]byte, len(d.src))
cipher.XORKeyStream(dst, d.src)
d.dst = dst
return d
}
Go
1
https://gitee.com/golang-module/dongle.git
git@gitee.com:golang-module/dongle.git
golang-module
dongle
dongle
master

搜索帮助