开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 622|回复: 2
收起左侧

[易语言] python转易语言

[复制链接]
结帖率:84% (107/127)
发表于 2024-2-19 20:40:12 | 显示全部楼层 |阅读模式   广东省肇庆市
30精币
[Python] 纯文本查看 复制代码
import time
import random
import struct
import io


MOD = 1 << 64


def rotate_left(x: int, k: int) -> int:
    bin_str = bin(x)[2:].rjust(64, "0")
    return int(bin_str[k:] + bin_str[:k], base=2)


def gen_uuid_infoc() -> str:
    t = int(time.time() * 1000) % 100000
    mp = list("123456789ABCDEF") + ["10"]
    pck = [8, 4, 4, 4, 12]
    gen_part = lambda x: "".join([random.choice(mp) for _ in range(x)])
    return "-".join([gen_part(l) for l in pck]) + str(t).ljust(5, "0") + "infoc"


def gen_buvid_fp(key: str, seed: int):
    source = io.BytesIO(bytes(key, "ascii"))
    m = murmur3_x64_128(source, seed)
    return "{}{}".format(
        hex(m & (MOD - 1))[2:], hex(m >> 64)[2:]
    )


def murmur3_x64_128(source: io.BufferedIOBase, seed: int) -> str:
    C1 = 0x87C3_7B91_1142_53D5
    C2 = 0x4CF5_AD43_2745_937F
    C3 = 0x52DC_E729
    C4 = 0x3849_5AB5
    R1, R2, R3, M = 27, 31, 33, 5
    h1, h2 = seed, seed
    processed = 0
    while 1:
        read = source.read(16)
        processed += len(read)
        if len(read) == 16:
            k1 = struct.unpack("<q", read[:8])[0]
            k2 = struct.unpack("<q", read[8:])[0]
            h1 ^= (rotate_left(k1 * C1 % MOD, R2) * C2 % MOD)
            h1 = ((rotate_left(h1, R1) + h2) * M + C3) % MOD
            h2 ^= rotate_left(k2 * C2 % MOD, R3) * C1 % MOD
            h2 = ((rotate_left(h2, R2) + h1) * M + C4) % MOD
        elif len(read) == 0:
            h1 ^= processed
            h2 ^= processed
            h1 = (h1 + h2) % MOD
            h2 = (h2 + h1) % MOD
            h1 = fmix64(h1)
            h2 = fmix64(h2)
            h1 = (h1 + h2) % MOD
            h2 = (h2 + h1) % MOD
            return (h2 << 64) | h1
        else:
            k1 = 0
            k2 = 0
            if len(read) >= 15:
                k2 ^= int(read[14]) << 48
            if len(read) >= 14:
                k2 ^= int(read[13]) << 40
            if len(read) >= 13:
                k2 ^= int(read[12]) << 32
            if len(read) >= 12:
                k2 ^= int(read[11]) << 24
            if len(read) >= 11:
                k2 ^= int(read[10]) << 16
            if len(read) >= 10:
                k2 ^= int(read[9]) << 8
            if len(read) >= 9:
                k2 ^= int(read[8])
                k2 = rotate_left(k2 * C2 % MOD, R3) * C1 % MOD
                h2 ^= k2
            if len(read) >= 8:
                k1 ^= int(read[7]) << 56
            if len(read) >= 7:
                k1 ^= int(read[6]) << 48
            if len(read) >= 6:
                k1 ^= int(read[5]) << 40
            if len(read) >= 5:
                k1 ^= int(read[4]) << 32
            if len(read) >= 4:
                k1 ^= int(read[3]) << 24
            if len(read) >= 3:
                k1 ^= int(read[2]) << 16
            if len(read) >= 2:
                k1 ^= int(read[1]) << 8
            if len(read) >= 1:
                k1 ^= int(read[0])
            k1 = rotate_left(k1 * C1 % MOD, R2) * C2 % MOD
            h1 ^= k1


def fmix64(k: int) -> int:
    C1 = 0xFF51_AFD7_ED55_8CCD
    C2 = 0xC4CE_B9FE_1A85_EC53
    R = 33
    tmp = k
    tmp ^= tmp >> R
    tmp = tmp * C1 % MOD
    tmp ^= tmp >> R
    tmp = tmp * C2 % MOD
    tmp ^= tmp >> R
    return tmp


if __name__ == '__main__':
    # Test gen_uuid_infoc
    print("gen_uuid_infoc():", gen_uuid_infoc())
    # Test gen_buvid_fp
    FP = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36falsezh-CN248162560,10802467,1089480Asia/Hong_Kongtruetruetruefalsefalsenot availableWin32PDF Viewer,Portable Document Format,application/pdf,pdf,text/pdf,pdf,Chrome PDF Viewer,Portable Document Format,application/pdf,pdf,text/pdf,pdf,Chromium PDF Viewer,Portable Document Format,application/pdf,pdf,text/pdf,pdf,Microsoft Edge PDF Viewer,Portable Document Format,application/pdf,pdf,text/pdf,pdf,WebKit built-in PDF,Portable Document Format,application/pdf,pdf,text/pdf,pdfcanvas winding:yes,canvas fp:data:image/png;base64,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YyIyrRpomaIUEe06be0q4kZjqy3XHpjRIjNz77n3npn73vs7X6YJ533O8/6ey6d/3nMIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0mMO671Zv+GncBeuv8bvLX0S9u6gn0wSyyvtbZoE4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQn8BEAXpPRNxWX8lxVm153J4462i1r4837XEKTSKwddaeOPvfzZxFbxbZEHMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAikLjBRgJ6/xj3/DnoepDd+/ehJm+Plfzun8UIqPFpgZkQcK4by45M3xyv+2qxZjGSRLS7WgLsJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQmgLjBuh5q5WorBgN0Rvv/Pun3R5X7b+o8UIqNCxw7Vl3x/u3nN9wnUcK9GWRDTapljIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYVoHJAvT8FPqOpnT3ppduiDW3djelliKNCSy/dENc97OmzCKLbMLfT2NNWk2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGpF5g0AG3aKfTud98Z6z9/4dRvzxMfI7D0XXfGhs81Yxb9xwP0AcIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoF4FqAXpzTqGf+u1NceDqJe2ClvQ+5n9rUxx8bTNmsTiLbCRpC80TIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgBIGqr+CuRGV1ROTfQ6//mrlrdxxd+Mz6C1jZNIFZO3fHsTMancVgFllf03pSiAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAi0gUEuA3pxT6D99/MG47PCpLbDnTm5hd2SVRsPz8O3zTv4J2TsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB9hWoGqDnW2/Kt9DfeuG98dXhc9uXMoGdXfPcDfGh33U32GlfFtlggzUsJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQMsJ1Bqg56fQ81e599S9g0Uf2xI7Vp1d93oLGxe48H3rY/japQ0UGsoi621gvaUECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoWYGaAvS8+0pU8vD8trp3MnvTnjhy/oK611vYuMCcu/fEv5Y0MoPeLLKhxhtRgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAq0nUHOAnrdeiUp+Cn1F3du4Zd7OuPzQwrrXP2bhzIg41rxy7VzpJyftjCsebMR+MIusr52J7I0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgc4WKBqg569y31E32euW/Sq+cfOL615vYf0CPVf/NtZ+8/n1F4jFWWQjDay3lAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAi0tUChAz3dSiUp+Aj0/iV78mrtuX/zzktOKL7SiYYHHr90Xhy+u174/i2yg4R4UIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQAsLFA7Q871UopJ/Cz3/Jnrx65Z5u+LyQ2cUX2hF3QI/OWlXXPFgveZDWWS9dT/bQgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCQiUG+Anr/KPQ/R87/FrqXvGI47vtRVbJG7GxJ40duHY/0X6zEfySJb3NCzLSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAiAnUF6PneKlHJT6DnIXqxa8bBXXFsfr2noYs9y92PCGR/iohT6tHozSIbqmehNQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEhNoO4APd9oJSqrjv/tL7zp5b3DMThUz4nowo/q+AX9XUMxcGc9r9v33fOO//EAIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBZAo0G6Pkr3FcX/h76nLv2xuELTu8s6mna7dyNe+PIC4ta++75NI3LYwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmD6BhgL0vO1KVOr7HvrHl9weH77nounbegc8+RPn3R4f2VTUeCQi8le3539dBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6BiBhgP0XGo0RN9RSG3Oxr1xuKvoyehCj+j4m+cO740jhU/6++55x/9wABAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDoTIGmBOh1h+hveumGWHNrd2fSl7zr5ZduiOt+VtRWeF7yWJQnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKB1BZoWoI+G6CtGv4le245n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AAECBAgQIECAAAECBAgQIFC2gAC9bGH1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAJAQF6EmPSJAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiULSBAL1tYfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIQkCAnsSYNEmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZQsI0MsWVp8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkhAQoCcxJk0SIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQNkCAvSyhdUnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQEBOhJjEmTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFC2gAC9bGH1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAJAQF6EmPSJAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiULSBAL1tYfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIQkCAnsSYNEmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZQsI0MsWVp8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkhAQoCcxJk0SIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQNkCAvSyhdUnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQEBOhJjEmTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFC2gAC9bGH1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAJAQF6EmPSJAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiULSBAL1tYfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIQkCAnsSYNEmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZQsI0MsWVp8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkhAQoCcxJk0SIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQNkCAvSyhdUnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQEBOhJjEmTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFC2gAC9bGH1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAJAQF6EmPSJAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiULSBAL1tYfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIQkCAnsSYNEmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZQsI0MsWVp8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkhAQoCcxJk0SIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQNkCAvSyhdUnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQEBOhJjEmTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFC2wH8AohmGbZVbbCUAAAAASUVORK5CYII=data:image/png;base64,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,extensions:ANGLE_instanced_arrays;EXT_blend_minmax;EXT_color_buffer_half_float;EXT_disjoint_timer_query;EXT_float_blend;EXT_frag_depth;EXT_shader_texture_lod;EXT_texture_compression_bptc;EXT_texture_compression_rgtc;EXT_texture_filter_anisotropic;EXT_sRGB;KHR_parallel_shader_compile;OES_element_index_uint;OES_fbo_render_mipmap;OES_standard_derivatives;OES_texture_float;OES_texture_float_linear;OES_texture_half_float;OES_texture_half_float_linear;OES_vertex_array_object;WEBGL_color_buffer_float;WEBGL_compressed_texture_s3tc;WEBGL_compressed_texture_s3tc_srgb;WEBGL_debug_renderer_info;WEBGL_debug_shaders;WEBGL_depth_texture;WEBGL_draw_buffers;WEBGL_lose_context;WEBGL_multi_draw,webgl aliased line width range:[1, 1],webgl aliased point size range:[1, 1024],webgl alpha bits:8,webgl antialiasing:yes,webgl blue bits:8,webgl depth bits:24,webgl green bits:8,webgl max anisotropy:16,webgl max combined texture image units:32,webgl max cube map texture size:16384,webgl max fragment uniform vectors:1024,webgl max render buffer size:16384,webgl max texture image units:16,webgl max texture size:16384,webgl max varying vectors:30,webgl max vertex attribs:16,webgl max vertex texture image units:16,webgl max vertex uniform vectors:4095,webgl max viewport dims:[32767, 32767],webgl red bits:8,webgl renderer:WebKit WebGL,webgl shading language version:WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium),webgl stencil bits:0,webgl vendor:WebKit,webgl version:WebGL 1.0 (OpenGL ES 2.0 Chromium),webgl unmasked vendor:Google Inc. (NVIDIA) #itsl7pRpEh,webgl unmasked renderer:ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Laptop GPU (0x00002560) Direct3D11 vs_5_0 ps_5_0, D3D11) #itsl7pRpEh,webgl vertex shader high float precision:23,webgl vertex shader high float precision rangeMin:127,webgl vertex shader high float precision rangeMax:127,webgl vertex shader medium float precision:23,webgl vertex shader medium float precision rangeMin:127,webgl vertex shader medium float precision rangeMax:127,webgl vertex shader low float precision:23,webgl vertex shader low float precision rangeMin:127,webgl vertex shader low float precision rangeMax:127,webgl fragment shader high float precision:23,webgl fragment shader high float precision rangeMin:127,webgl fragment shader high float precision rangeMax:127,webgl fragment shader medium float precision:23,webgl fragment shader medium float precision rangeMin:127,webgl fragment shader medium float precision rangeMax:127,webgl fragment shader low float precision:23,webgl fragment shader low float precision rangeMin:127,webgl fragment shader low float precision rangeMax:127,webgl vertex shader high int precision:0,webgl vertex shader high int precision rangeMin:31,webgl vertex shader high int precision rangeMax:30,webgl vertex shader medium int precision:0,webgl vertex shader medium int precision rangeMin:31,webgl vertex shader medium int precision rangeMax:30,webgl vertex shader low int precision:0,webgl vertex shader low int precision rangeMin:31,webgl vertex shader low int precision rangeMax:30,webgl fragment shader high int precision:0,webgl fragment shader high int precision rangeMin:31,webgl fragment shader high int precision rangeMax:30,webgl fragment shader medium int precision:0,webgl fragment shader medium int precision rangeMin:31,webgl fragment shader medium int precision rangeMax:30,webgl fragment shader low int precision:0,webgl fragment shader low int precision rangeMin:31,webgl fragment shader low int precision rangeMax:30Google Inc. (NVIDIA) #itsl7pRpEh~ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Laptop GPU (0x00002560) Direct3D11 vs_5_0 ps_5_0, D3D11) #itsl7pRpEhfalsetruefalsefalse0,false,falseArial,Arial Black,Arial Narrow,Book Antiqua,Bookman Old Style,Calibri,Cambria,Cambria Math,Century,Century Gothic,Century Schoolbook,Comic Sans MS,Consolas,Courier,Courier New,Georgia,Helvetica,Helvetica Neue,Impact,Lucida Bright,Lucida Calligraphy,Lucida Console,Lucida Fax,Lucida Handwriting,Lucida Sans,Lucida Sans Typewriter,Lucida Sans Unicode,Microsoft Sans Serif,Monotype Corsiva,MS Gothic,MS PGothic,MS Reference Sans Serif,MS Sans Serif,MS Serif,Palatino Linotype,Segoe Print,Segoe Script,Segoe UI,Segoe UI Light,Segoe UI Semibold,Segoe UI Symbol,Tahoma,Times,Times New Roman,Trebuchet MS,Verdana,Wingdings,Wingdings 2,Wingdings 3124.04347527516074"
    assert gen_buvid_fp(FP, 31) == "e01abd0e12f9ee456fe52d2efd6803bb"
    assert gen_buvid_fp("", 31) == "24700f9f1986800ab4fcc880530dd0ed"
    print("gen_buvid_fp() No Problem. ")


上面这个python代码怎么转成易语言 有大佬懂吗


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
发表于 2024-2-19 22:21:44 | 显示全部楼层   黑龙江省哈尔滨市
找个gpt 转成js调用吧
回复

使用道具 举报

结帖率:100% (10/10)
发表于 2024-2-29 21:59:18 | 显示全部楼层   山西省太原市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表