1
0
forked from um/web

test(QMCv2): coverage standard TEA cipher

(cherry picked from commit c2c89a423ffffc06fb43c86d4714bb32d1936c3e)
This commit is contained in:
MengYX 2021-12-14 18:01:59 +08:00
parent 769d3392f8
commit 8c11f47aa4
2 changed files with 8 additions and 3 deletions

View File

@ -6,6 +6,7 @@
import {TeaCipher} from "@/utils/tea"; import {TeaCipher} from "@/utils/tea";
test("key size", () => { test("key size", () => {
const testKey = new Uint8Array([ const testKey = new Uint8Array([
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
@ -52,6 +53,12 @@ const teaTests = [
}, },
] ]
test("rounds", () => {
const tt = teaTests[0];
expect(() => new TeaCipher(tt.key, tt.rounds - 1))
.toThrow()
})
test("encrypt & decrypt", () => { test("encrypt & decrypt", () => {
for (const tt of teaTests) { for (const tt of teaTests) {
@ -67,3 +74,4 @@ test("encrypt & decrypt", () => {
expect(buf).toStrictEqual(tt.plainText) expect(buf).toStrictEqual(tt.plainText)
} }
}) })

View File

@ -51,9 +51,6 @@ export class TeaCipher {
encrypt(dst: DataView, src: DataView) { encrypt(dst: DataView, src: DataView) {
if (src.byteLength != 8) {
throw Error("src.byteLength != 8")
}
let v0 = src.getUint32(0, false) let v0 = src.getUint32(0, false)
let v1 = src.getUint32(4, false) let v1 = src.getUint32(4, false)