开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 165|回复: 7
收起左侧

[完成] JS语句实现

 关闭 [复制链接]
结帖率:85% (33/39)
发表于 2024-9-14 15:19:03 | 显示全部楼层 |阅读模式   山西省太原市
5精币
o.stringify(r.lib.WordArray.random(16))JS这个语句怎么用易语言来实现呀

最佳答案

查看完整内容

js代码放入常量: // 生成16字节的随机数据 function generateRandomBytes(length) { var randomBytes = []; for (var i = 0; i < length; i++) { randomBytes = Math.floor(Math.random() * 256); } return randomBytes; } // 将普通数组转换为Base64字符串 function arrayToBase64(array) { var binary = ''; for (var i = 0; i < array.length; i++) { binary += String.fromCharCode ...
结帖率:100% (2/2)

签到天数: 21 天

发表于 2024-9-14 15:19:04 | 显示全部楼层   广东省东莞市
js代码放入常量:
// 生成16字节的随机数据
function generateRandomBytes(length) {
    var randomBytes = [];
    for (var i = 0; i < length; i++) {
        randomBytes[i] = Math.floor(Math.random() * 256);
    }
    return randomBytes;
}

// 将普通数组转换为Base64字符串
function arrayToBase64(array) {
    var binary = '';
    for (var i = 0; i < array.length; i++) {
        binary += String.fromCharCode(array[i]);
    }
    // IE兼容的Base64编码
    return btoaIE(binary);
}

// IE兼容的Base64编码函数
function btoaIE(input) {
    var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
    var output = '';
    var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
    var i = 0;

    while (i < input.length) {
        chr1 = input.charCodeAt(i++);
        chr2 = i < input.length ? input.charCodeAt(i++) : Number.NaN; // Not sure if the index
        chr3 = i < input.length ? input.charCodeAt(i++) : Number.NaN;

        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;

        if (isNaN(chr2)) {
            enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
            enc4 = 64;
        }

        output += keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
    }

    return output;
}
function getbase (){
    var randomBytes = generateRandomBytes(16);

    var base64Str = arrayToBase64(randomBytes);
        return base64Str
}


.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕
.局部变量 str, 文本型

str = 功能_运行JS代码_表达式 ()
调试输出 (str)

.子程序 功能_运行JS代码_表达式, 文本型, , 此代码由精易网页调试助手生成代码,配合精易模块使用。
.局部变量 JS命令, 类_脚本组件
.局部变量 结果, 文本型

JS命令.执行 (#常量1)
结果 = JS命令.计算表达式 (“getbase()”)
返回 (结果)

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 21 天

发表于 2024-9-14 15:49:28 | 显示全部楼层   广东省东莞市
断点看看生成的是啥才行 你这样判断不出来

补充内容 (2024-9-14 15:51):
但是大概率是生成一个32位随机字符串
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 22 天

发表于 2024-9-14 15:51:27 | 显示全部楼层   天津市天津市
半截语句 没法实现
回复

使用道具 举报

结帖率:85% (33/39)

签到天数: 8 天

 楼主| 发表于 2024-9-14 15:53:13 | 显示全部楼层   山西省太原市
人杰啊 发表于 2024-9-14 15:49
断点看看生成的是啥才行 你这样判断不出来

补充内容 (2024-9-14 15:51):

import os
import binascii
import base64

# 生成16字节的随机数据
random_bytes = os.urandom(16)
print(random_bytes)
# 转换为十六进制字符串


# 转换为Base64字符串(注意:Base64编码会稍微增加长度)
base64_str = base64.b64encode(random_bytes).decode('utf-8')


print("Random Bytes (Base64):", base64_str)



python能实现这个功能 但是易语言不知道什么语句
回复

使用道具 举报

结帖率:85% (33/39)

签到天数: 8 天

 楼主| 发表于 2024-9-14 15:53:26 | 显示全部楼层   山西省太原市

补充了python代码
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 21 天

发表于 2024-9-14 15:55:29 | 显示全部楼层   广东省东莞市
q1472 发表于 2024-9-14 15:53
import os
import binascii
import base64

你要的是最后这个base64_str吗
回复

使用道具 举报

结帖率:85% (33/39)

签到天数: 8 天

 楼主| 发表于 2024-9-14 16:02:32 | 显示全部楼层   山西省太原市
人杰啊 发表于 2024-9-14 15:55
你要的是最后这个base64_str吗

对的就是print这个
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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