加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang rc4加密算法的使用

发布时间:2020-12-16 18:24:29 所属栏目:大数据 来源:网络整理
导读:package rc4 import "crypto/rc4" rc4包实现了RC4加密算法,参见Bruce Schneier's Applied Cryptography。 Index type KeySizeError func (k KeySizeError) Error() string type Cipher func NewCipher(key []byte) (*Cipher,error) func (c *Cipher) Reset(

package rc4

import "crypto/rc4"

rc4包实现了RC4加密算法,参见Bruce Schneier's Applied Cryptography。

Index

  • type KeySizeError
    • func (k KeySizeError) Error() string
  • type Cipher
    • func NewCipher(key []byte) (*Cipher,error)
    • func (c *Cipher) Reset()
    • func (c *Cipher) XORKeyStream(dst,src []byte)

  • 具体适应实例
  •      var key []byte = []byte("fd6cde7c2f4913f22297c948dd530c84") //初始化用于加密的KEY 
         rc4obj1, _:=rc4.NewCipher(key) //返回 Cipher
  •      rc4str1[]byte("xiaowangnidayede")  //需要加密的字符串
  • plaintextmake([],128)">len(rc4str1)) //
  •      rc4obj1.XORKeyStream(plaintext, rc4str1)
  •        //XORKeyStream方法将src的数据与秘钥生成的伪随机位流取XOR并写入dst。dst和src可指向同一内存地址;但如果指向不同则其底层内存                不可重叠
  •      plaintext就是你加密的返回过来的结果了,注意:plaintext则为 base-16 编码的字符串,每个字节使用 2 个字符表示 必须格式化成字符串
  •         
         stringinf1 := fmt.Sprintf("%xn", plaintext) //转换字符串
     fmt.Println(stringinf1)
输出结果:
6785a51c1495096438bde8408ce051af
注意:上面的 rc4str1也可以代替 plaintext直接传进去,rc4str1的值就会变化,变成加密后的
                          base-16 编码的字符串的byte数组,则直接格式化一下就行了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读