final switch => match
parent
acaf66ac80
commit
5946f67328
|
@ -28,13 +28,14 @@ struct AesCipher {
|
||||||
// AES-128, AES-192, or AES-256.
|
// AES-128, AES-192, or AES-256.
|
||||||
pub fn new_cipher(key []byte) AesCipher {
|
pub fn new_cipher(key []byte) AesCipher {
|
||||||
k := key.len
|
k := key.len
|
||||||
switch k {
|
match k {
|
||||||
case 16, 24, 32:
|
16, 24, 32 {
|
||||||
// break
|
// break
|
||||||
default:
|
} else {
|
||||||
panic('crypto.aes: invalid key size ' + k.str())
|
panic('crypto.aes: invalid key size ' + k.str())
|
||||||
// return error('crypto.aes: invalid key size ' + k.str())
|
// return error('crypto.aes: invalid key size ' + k.str())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// for now use generic version
|
// for now use generic version
|
||||||
return new_cipher_generic(key)
|
return new_cipher_generic(key)
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,8 +78,8 @@ mut:
|
||||||
fn (d mut Digest) reset() {
|
fn (d mut Digest) reset() {
|
||||||
d.h = [u64(0)].repeat(8)
|
d.h = [u64(0)].repeat(8)
|
||||||
d.x = [byte(0)].repeat(Chunk)
|
d.x = [byte(0)].repeat(Chunk)
|
||||||
switch d.function {
|
match d.function {
|
||||||
case crypto.Hash.sha384:
|
.sha384 {
|
||||||
d.h[0] = init0_384
|
d.h[0] = init0_384
|
||||||
d.h[1] = init1_384
|
d.h[1] = init1_384
|
||||||
d.h[2] = init2_384
|
d.h[2] = init2_384
|
||||||
|
@ -88,7 +88,8 @@ fn (d mut Digest) reset() {
|
||||||
d.h[5] = init5_384
|
d.h[5] = init5_384
|
||||||
d.h[6] = init6_384
|
d.h[6] = init6_384
|
||||||
d.h[7] = init7_384
|
d.h[7] = init7_384
|
||||||
case crypto.Hash.sha512_224:
|
}
|
||||||
|
.sha512_224 {
|
||||||
d.h[0] = init0_224
|
d.h[0] = init0_224
|
||||||
d.h[1] = init1_224
|
d.h[1] = init1_224
|
||||||
d.h[2] = init2_224
|
d.h[2] = init2_224
|
||||||
|
@ -97,7 +98,8 @@ fn (d mut Digest) reset() {
|
||||||
d.h[5] = init5_224
|
d.h[5] = init5_224
|
||||||
d.h[6] = init6_224
|
d.h[6] = init6_224
|
||||||
d.h[7] = init7_224
|
d.h[7] = init7_224
|
||||||
case crypto.Hash.sha512_256:
|
}
|
||||||
|
.sha512_256 {
|
||||||
d.h[0] = init0_256
|
d.h[0] = init0_256
|
||||||
d.h[1] = init1_256
|
d.h[1] = init1_256
|
||||||
d.h[2] = init2_256
|
d.h[2] = init2_256
|
||||||
|
@ -106,7 +108,8 @@ fn (d mut Digest) reset() {
|
||||||
d.h[5] = init5_256
|
d.h[5] = init5_256
|
||||||
d.h[6] = init6_256
|
d.h[6] = init6_256
|
||||||
d.h[7] = init7_256
|
d.h[7] = init7_256
|
||||||
default:
|
}
|
||||||
|
else {
|
||||||
d.h[0] = init0
|
d.h[0] = init0
|
||||||
d.h[1] = init1
|
d.h[1] = init1
|
||||||
d.h[2] = init2
|
d.h[2] = init2
|
||||||
|
@ -116,6 +119,7 @@ fn (d mut Digest) reset() {
|
||||||
d.h[6] = init6
|
d.h[6] = init6
|
||||||
d.h[7] = init7
|
d.h[7] = init7
|
||||||
}
|
}
|
||||||
|
}
|
||||||
d.nx = 0
|
d.nx = 0
|
||||||
d.len = 0
|
d.len = 0
|
||||||
}
|
}
|
||||||
|
@ -184,24 +188,28 @@ fn (d mut Digest) sum(b_in []byte) []byte {
|
||||||
mut d0 := *d
|
mut d0 := *d
|
||||||
hash := d0.checksum()
|
hash := d0.checksum()
|
||||||
mut b_out := b_in.clone()
|
mut b_out := b_in.clone()
|
||||||
switch d0.function {
|
match d0.function {
|
||||||
case crypto.Hash.sha384:
|
.sha384 {
|
||||||
for b in hash[..size384] {
|
for b in hash[..size384] {
|
||||||
b_out << b
|
b_out << b
|
||||||
}
|
}
|
||||||
case crypto.Hash.sha512_224:
|
}
|
||||||
|
.sha512_224 {
|
||||||
for b in hash[..size224] {
|
for b in hash[..size224] {
|
||||||
b_out << b
|
b_out << b
|
||||||
}
|
}
|
||||||
case crypto.Hash.sha512_256:
|
}
|
||||||
|
.sha512_256 {
|
||||||
for b in hash[..size256] {
|
for b in hash[..size256] {
|
||||||
b_out << b
|
b_out << b
|
||||||
}
|
}
|
||||||
default:
|
}
|
||||||
|
else {
|
||||||
for b in hash {
|
for b in hash {
|
||||||
b_out << b
|
b_out << b
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return b_out
|
return b_out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,15 +296,11 @@ fn block(dig mut Digest, p []byte) {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn (d &Digest) size() int {
|
pub fn (d &Digest) size() int {
|
||||||
switch d.function {
|
match d.function {
|
||||||
case crypto.Hash.sha512_224:
|
.sha512_224 { return size224 }
|
||||||
return size224
|
.sha512_256 { return size256 }
|
||||||
case crypto.Hash.sha512_256:
|
.sha384 { return size384 }
|
||||||
return size256
|
else { return size }
|
||||||
case crypto.Hash.sha384:
|
|
||||||
return size384
|
|
||||||
default:
|
|
||||||
return size
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,12 +51,14 @@ pub fn (w mut Writer) write(record []string) ?bool {
|
||||||
|
|
||||||
if field.len > 0 {
|
if field.len > 0 {
|
||||||
z := field[0]
|
z := field[0]
|
||||||
switch z {
|
match z {
|
||||||
case `"`:
|
`"` {
|
||||||
w.sb.write('""')
|
w.sb.write('""')
|
||||||
case `\r` || `\n`:
|
}
|
||||||
|
`\r`, `\n` {
|
||||||
w.sb.write(le)
|
w.sb.write(le)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
field = field[1..]
|
field = field[1..]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue