diff options
Diffstat (limited to 'ATRI/plugins/plugin_rich/data_source.py')
-rw-r--r-- | ATRI/plugins/plugin_rich/data_source.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ATRI/plugins/plugin_rich/data_source.py b/ATRI/plugins/plugin_rich/data_source.py new file mode 100644 index 0000000..148d64b --- /dev/null +++ b/ATRI/plugins/plugin_rich/data_source.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# -*- encoding: utf-8 -*- +''' +@File : data_source.py +@Time : 2020/11/21 11:11:37 +@Author : Kyomotoi +@Contact : [email protected] +@Github : https://github.com/Kyomotoi +@License : Copyright © 2018-2020 Kyomotoi, All Rights Reserved. +''' +__author__ = 'kyomotoi' + +table = 'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF' +tr = {} +for i in range(58): + tr[table[i]] = i +s = [11, 10, 3, 8, 4, 6] +xor = 177451812 +add = 8728348608 + + +def dec(x) -> int: + r = 0 + for i in range(6): + r += tr[x[s[i]]] * 58**i + return (r - add) ^ xor + + +def enc(x) -> str: + x = (x ^ xor) + add + r = list('BV1 4 1 7 ') + for i in range(6): + r[s[i]] = table[x // 58**i % 58] + return ''.join(r) |