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)
type KeySizeError
type KeySizeError int
func (KeySizeError) Error
func (k KeySizeError) Error() string
type Cipher
type Cipher struct {
// 内含隐藏或非导出字段
}
Cipher是一个使用特定密钥的RC4实例,本类型实现了cipher.Stream接口。
func NewCipher
func NewCipher(key []byte) (*Cipher, error)
NewCipher创建并返回一个新的Cipher。参数key是RC4密钥,至少1字节,最多256字节。
func (*Cipher) Reset
func (c *Cipher) Reset()
Reset方法会清空密钥数据,以便将其数据从程序内存中清除(以免被破解)
func (*Cipher) XORKeyStream
func (c *Cipher) XORKeyStream(dst, src []byte)
XORKeyStream方法将src的数据与秘钥生成的伪随机位流取XOR并写入dst。dst和src可指向同一内存地址;但如果指向不同则其底层内存不可重叠。
Bugs
☞ RC4被广泛使用,但设计上的缺陷使它很少用于较新的协议中。