Browse Source

test(QMCv2): coverage standard TEA cipher

(cherry picked from commit c2c89a423ffffc06fb43c86d4714bb32d1936c3e)
20230320
MengYX 3 years ago
parent
commit
d5ac9ad56e
No known key found for this signature in database GPG Key ID: E63F9C7303E8F604
  1. 8
      src/utils/tea.test.ts
  2. 3
      src/utils/tea.ts

8
src/utils/tea.test.ts

@ -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)
} }
}) })

3
src/utils/tea.ts

@ -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)

Loading…
Cancel
Save