diff options
author | Florian Dold <florian@dold.me> | 2024-01-30 23:09:52 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-01-30 23:10:01 +0100 |
commit | f14c643f4a66fc56199eb4aba66a7d5429911db7 (patch) | |
tree | 2410fe2516d51a9fd1b48b38bd10e803cee63b8b /packages/merchant-backoffice-ui/src/utils | |
parent | c5f97c8f493b52f9e083548d0ac71592c56a2b79 (diff) | |
download | wallet-core-f14c643f4a66fc56199eb4aba66a7d5429911db7.tar.xz |
harness,util,others: complete otp integration test, move rfc3548 to taler-utilv0.9.4-dev.10
Diffstat (limited to 'packages/merchant-backoffice-ui/src/utils')
-rw-r--r-- | packages/merchant-backoffice-ui/src/utils/crypto.ts | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/packages/merchant-backoffice-ui/src/utils/crypto.ts b/packages/merchant-backoffice-ui/src/utils/crypto.ts deleted file mode 100644 index 27e6ade02..000000000 --- a/packages/merchant-backoffice-ui/src/utils/crypto.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021-2023 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** - * - * @author Sebastian Javier Marchano (sebasjm) - */ - -const encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; -// base32 RFC 3548 -function encodeBase32(data: ArrayBuffer) { - const dataBytes = new Uint8Array(data); - let sb = ""; - const size = data.byteLength; - let bitBuf = 0; - let numBits = 0; - let pos = 0; - while (pos < size || numBits > 0) { - if (pos < size && numBits < 5) { - const d = dataBytes[pos++]; - bitBuf = (bitBuf << 8) | d; - numBits += 8; - } - if (numBits < 5) { - // zero-padding - bitBuf = bitBuf << (5 - numBits); - numBits = 5; - } - const v = (bitBuf >>> (numBits - 5)) & 31; - sb += encTable[v]; - numBits -= 5; - } - return sb; -} - -export function isBase32RFC3548Charset(s: string): boolean { - for (let idx = 0; idx < s.length; idx++) { - const c = s.charAt(idx); - if (encTable.indexOf(c) === -1) return false; - } - return true; -} - -export function randomBase32Key(): string { - var buf = new Uint8Array(20); - window.crypto.getRandomValues(buf); - return encodeBase32(buf); -} |