summaryrefslogtreecommitdiff
path: root/ATRI/plugins/plugin_rich/data_source.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/plugin_rich/data_source.py')
-rw-r--r--ATRI/plugins/plugin_rich/data_source.py34
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)