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已经被发现漏洞了,不在安全了。

 

posted @ 2019-01-31 22:13  mambakb  阅读(567)  评论(0编辑  收藏  举报