diff options
author | root <sina@snix.ir> | 2022-07-19 02:43:16 +0000 |
---|---|---|
committer | root <sina@snix.ir> | 2022-07-19 02:43:16 +0000 |
commit | 44cfb33b65a890a18ae994d0200294ba2b325921 (patch) | |
tree | a4b1711a2f2a237aec90f785f3d37463260e5922 | |
parent | 644e3dbd4426c17c40b5a45f5670f0b0c3e042f8 (diff) |
err and const
-rw-r--r-- | rabbit.go | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -8,12 +8,20 @@ import ( ) const ( - invalidKeyLen = "rabbitio: key must be 16 byte len, not more not less" - invalidIVXLen = "rabbitio: iv must be 8 byte len or nothing (zero) at all" + RabbitKeyLen = 0x10 + RabbitIVXLen = 0x08 +) + +var ( + ErrInvalidKey = errors.New("rabbitio: key must be 16 byte len, not more not less") + ErrInvalidIVX = errors.New("rabbitio: iv must be 8 byte len or nothing (zero) at all") ) var aro = []uint32{ - 0x4D34D34D, 0xD34D34D3, 0x34D34D34, 0x4D34D34D, 0xD34D34D3, 0x34D34D34, 0x4D34D34D, 0xD34D34D3, + 0x4D34D34D, 0xD34D34D3, + 0x34D34D34, 0x4D34D34D, + 0xD34D34D3, 0x34D34D34, + 0x4D34D34D, 0xD34D34D3, } type rabbitCipher struct { @@ -28,11 +36,11 @@ type rabbitCipher struct { // according to RFC 4503, key must be 16 byte len, iv on the other hand is optional but // must be either zero len or 8 byte len, error will be returned on wrong key/iv len func NewCipher(key []byte, iv []byte) (cipher.Stream, error) { - if len(key) != 0x10 { - return nil, errors.New(invalidKeyLen) + if len(key) != RabbitKeyLen { + return nil, ErrInvalidKey } - if len(iv) != 0x00 && len(iv) != 0x08 { - return nil, errors.New(invalidIVXLen) + if len(iv) != 0x00 && len(iv) != RabbitIVXLen { + return nil, ErrInvalidIVX } var k [0x04]uint32 for i := range k { |