aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <sina@snix.ir>2022-07-19 02:43:16 +0000
committerroot <sina@snix.ir>2022-07-19 02:43:16 +0000
commit44cfb33b65a890a18ae994d0200294ba2b325921 (patch)
treea4b1711a2f2a237aec90f785f3d37463260e5922
parent644e3dbd4426c17c40b5a45f5670f0b0c3e042f8 (diff)
err and const
-rw-r--r--rabbit.go22
1 files changed, 15 insertions, 7 deletions
diff --git a/rabbit.go b/rabbit.go
index d70d835..01e1278 100644
--- a/rabbit.go
+++ b/rabbit.go
@@ -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 {

Snix LLC Git Repository Holder Copyright(C) 2022 All Rights Reserved Email To Snix.IR