golang中crypto/rc4包

栏目: Go · 发布时间: 7年前

内容简介:rc4包实现了RC4加密算法,参见Bruce Schneier's Applied Cryptography。type KeySizeError intfunc (KeySizeError) Error() string

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

type KeySizeError int

func (KeySizeError) Error() string

type Cipher struct{...}

func NewCipher(key []byte) (*Cipher, error)

NewCipher创建并返回一个新的Cipher。参数key时RC4密钥,至少1字节,最多256字节。

func (c *Cipher) Reset()

Reset方法会清空密钥数据,以便将其数据从程序内存中清除(以免被破解)

func (c *Cipher) XORKeyStream(dst, src []byte)

XORKeyStream方法将src的数据与密钥生成的伪随机流取XOR并写入dst。dst和src可指向同一内存地址;但如果指向不同则其底层内存不可重叠。

Bugs:RC4被广泛使用,但设计上的缺陷使它很少用于较新的协议中。

package main

import (
    "crypto/rc4"
    "fmt"
    "log"
)

func main() {
    c, err := rc4.NewCipher([]byte("dsadsad"))
    if err != nil {
        log.Fatalln(err)
    }
    src := []byte("asdsad")
    dst := make([]byte, len(src))
    c.XORKeyStream(dst, src)
    fmt.Println(string(src), string(dst))
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

第四次革命

第四次革命

[意]卢西亚诺•弗洛里迪(Luciano Floridi)著 / 王文革 / 浙江人民出版社 / 2016-5 / 64.90元

 随着线上线下大融合以及人工智能的极大发展,人类已经进入超历史时代。在这一时代中,人类终于迎来了继哥白尼革命、达尔文革命、神经科学革命之后自我认知的第四次革命——图灵革命,整个世界正化身为一个信息圈,每个人都生活在云端,人类已不再是信息圈毋庸置疑的主宰。毫无疑问,图灵革命引爆了人工智能重塑整个人类社会的序曲!  那么在人工智能时代,人类如何保证自己最钟爱的财富——“隐私”不被窃取?如何应......一起来看看 《第四次革命》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换