Commit 89aa2f95 by zhangxujie

福建省公共资源交易电子公共平台服务

parent 45b90032
var hexcase = 0; const CryptoJS = require("crypto-js");
var hexcase = 0; const CryptoJS = require("crypto-js");
var b64pad = "";
var chrsz = 8; function b(e, n, t) {
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} var e = CryptoJS.enc.Utf8.parse(e)
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));} , n = CryptoJS.enc.Utf8.parse(n)
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); } , a = CryptoJS.AES.decrypt(t, e, {
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); } iv: n,
function calcMD5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
function md5_vm_test() });
{ return a.toString(CryptoJS.enc.Utf8)
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; }
} e = 'EB444973714E4A40876CE66BE45D5930'
n = 'B5A8904209931867'
function core_md5(x, len) data = "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"
{ // console.log(b(e, n, data))
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0; i < x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return Array(a, b, c, d);
}
function md5_cmn(q, a, b, x, s, t)
{
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
}
function md5_ff(a, b, c, d, x, s, t)
{
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t)
{
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t)
{
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t)
{
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}
function core_hmac_md5(key, data)
{
var bkey = str2binl(key);
if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
var ipad = Array(16), opad = Array(16);
for(var i = 0; i < 16; i++)
{
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
return core_md5(opad.concat(hash), 512 + 128);
}
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
function bit_rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}
function str2binl(str) function d(t) {
{ for (var e in t)
var bin = Array(); "" !== t[e] && void 0 !== t[e] || delete t[e];
var mask = (1 << chrsz) - 1; var n = "B3978D054A72A7002063637CCDF6B2E5" + l(t);
for(var i = 0; i < str.length * chrsz; i += chrsz) return CryptoJS.MD5(n).toString()
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
return bin;
} }
function binl2hex(binarray) function l(t) {
{ for (var e = ["cid", "ts", "type"], n = "", a = 0; a < e.length; a++)
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; if (void 0 !== t[e[a]])
var str = ""; if (t[e[a]] && t[e[a]]instanceof Object || t[e[a]]instanceof Array) {
for(var i = 0; i < binarray.length * 4; i++) var i = JSON.stringify(t[e[a]]);
{ n += e[a] + i
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + } else
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); n += e[a] + t[e[a]];
} return n
return str;
} }
function binl2b64(binarray) text = {
{ "ts": 1708677630860,
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; "cid": "250291",
var str = ""; "type": "GCJS"
for(var i = 0; i < binarray.length * 4; i += 3)
{
var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
| (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
| ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
for(var j = 0; j < 4; j++)
{
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
}
}
return str;
} }
console.log(d(text))
id="G6X2gZnetpQ%3d" \ No newline at end of file
ts="1681200808213"
token=hex_md5("3637CB36B2E54A72A7002978D0506CDF" + "id" + id + "ts"+ ts).toLocaleLowerCase()
console.log(token)
// data="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"
//
// console.log(token)
//
// const CryptoJS = require("crypto-js");
//
// function b(e, n, t) {
// var e = CryptoJS.enc.Utf8.parse(e)
// , n = CryptoJS.enc.Utf8.parse(n)
// , a = CryptoJS.AES.decrypt(t, e, {
// iv: n,
// mode: CryptoJS.mode.CBC,
// padding: CryptoJS.pad.Pkcs7
// });
// return a.toString(CryptoJS.enc.Utf8)
// }
// e = 'BE45D593014E4A4EB4449737660876CE'
// n = 'A8909931867B0425'
// console.log(b(e, n, data))
#coding=utf-8 import execjs
#coding=utf-8 import execjs
import base64
import requests import requests
import json import hashlib
import time
import base64
from Crypto.Cipher import AES from Crypto.Cipher import AES
messagetext="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"
BLOCK_SIZE = 16 # Bytes
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * \
chr(BLOCK_SIZE - len(s) % BLOCK_SIZE)
unpad = lambda s: s[:-ord(s[len(s) - 1:])]
vi = 'A8909931867B0425'
key = 'BE45D593014E4A4EB4449737660876CE'
def AES_Decrypt(key, data): def AES_Decrypt(key, data):
data = data.encode('utf8') vi = 'B5A8904209931867'
encodebytes = base64.decodebytes(data) data = data.encode('utf8')
# 将加密数据转换位bytes类型数据 encodebytes = base64.decodebytes(data)
cipher = AES.new(key.encode('utf8'), AES.MODE_CBC, vi.encode('utf8')) # 将加密数据转换位bytes类型数据
text_decrypted = cipher.decrypt(encodebytes) cipher = AES.new(key.encode('utf8'), AES.MODE_CBC, vi.encode('utf8'))
# 去补位 text_decrypted = cipher.decrypt(encodebytes)
text_decrypted = unpad(text_decrypted) unpad = lambda s: s[0:-s[-1]]
text_decrypted = text_decrypted.decode('utf8') text_decrypted = unpad(text_decrypted)
return text_decrypted # 去补位
text_decrypted = text_decrypted.decode('utf8')
print(AES_Decrypt(key, messagetext)) return text_decrypted
# import binascii # yy="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"
# from Crypto.Cipher import AES key = 'EB444973714E4A40876CE66BE45D5930'
#
# class AESCipher: timestamp = int(round(time.time() * 1000))
# def __init__(self, key, mode): sgin_text = "B3978D054A72A7002063637CCDF6B2E5cid250291ts"+ str(timestamp) +"typeGCJS"
# self.key = key sgin = hashlib.md5(sgin_text.encode()).hexdigest()
# self.mode = mode
# headers = {
# def encrypt(self, text): 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36',
# text = text.encode('utf-8') 'portal-sign': sgin,
# cryptor = AES.new(self.key, self.mode, b'A8909931867B0425') }
# length = 16 json_data = {
# count = len(text) 'cid': '250291',
# padding = length - (count % length) 'type': 'GCJS',
# text += bytes([padding]) * padding 'ts': timestamp,
# ciphertext = cryptor.encrypt(text) }
# return binascii.b2a_base64(ciphertext).rstrip().decode('utf-8')
# response = requests.post('https://ggzyfw.fj.gov.cn/FwPortalApi/Trade/TradeInfoDetail', headers=headers, json=json_data)
# def decrypt(self, text): text = response.json().get("Data")
# text = binascii.a2b_base64(text.encode('utf-8')) print(AES_Decrypt(key, text))
# cryptor = AES.new(self.key, self.mode, b'A8909931867B0425') \ No newline at end of file
# plaintext = cryptor.decrypt(text)
# padding = plaintext[-1]
# if padding < 1 or padding > 16:
# return None
# plaintext = plaintext[:-padding]
# return plaintext.decode('utf-8')
#
# key = b'BE45D593014E4A4EB4449737660876CE'
# mode = AES.MODE_CBC
# cipher = AESCipher(key, mode)
#
# # 加密
# plaintext = 'hello'
# ciphertext = cipher.encrypt(plaintext)
# print(ciphertext) # 输出:gjKdyI6/o3U6gLlT6jX2hQ==
#
# # 解密
# plaintext = cipher.decrypt(messagetext)
# print(plaintext) # 输出:Hello, world!
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment