RC4加密
现代计算机的出现改变了通信手段,同时提升了加密的安全性。同时也出现了很多新的,更安全的加密算法
流加密,加密和解密双方使用相同伪随机加密数据流作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。这里用一串 0,1 的数据流作为密钥,通过异或运算进行加密,根据异或运算的性质:a XOR b = c,c XOR a = b,解密时使用相同的密钥对密文进行异或运算就能得到明文。
下面是go语言的实现版本,这里用了go语言内置的包
1 package main 2 3 import ( 4 "crypto/rc4" 5 "fmt" 6 ) 7 8 func main() { 9 key := []byte("key") 10 key1, _ := rc4.NewCipher(key) 11 str := []byte("sss") 12 ans := make([]byte, len(str)) 13 key1.XORKeyStream(ans, str) 14 strRet := fmt.Sprintf("%x\n", ans) 15 fmt.Print(strRet) 16 //fmt.Print("ss") 17 }
在官方文档中有一句话 RC4 is in common use but has design weaknesses that make it a poor choice for new protocols.
也就是RC4已经被发现漏洞了,不在安全了。