开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 326|回复: 11
收起左侧

[求助] 压缩字符串长度问题,就是、

[复制链接]
结帖率:86% (6/7)
发表于 2024-6-12 10:25:17 | 显示全部楼层 |阅读模式   重庆市重庆市



补充内容 (2024-6-12 10:35):
简单来说就是使用易语言把一个长文本压缩为短文本,然后还能还原出原来的长文本,就比如下面这个js代码
结帖率:86% (6/7)

签到天数: 15 天

 楼主| 发表于 2024-6-12 10:26:15 | 显示全部楼层   重庆市重庆市
const crypto = require('crypto');  // 引入Node.js的crypto模块来进行哈希操作  // 创建一个字典来保存哈希值和原字符串的对应关系 const hashTable = new Map();  // 加密函数 function encrypt(str) {   const hash = crypto.createHash('sha256').update(str).digest('hex');   const shortHash = hash.substring(0, 16);  // 取前16个字符   hashTable.set(shortHash, str);   return shortHash; } // 解密函数 function decrypt(shortHash) {   return hashTable.get(shortHash); }  const originalStr = "春天的美景如诗如画,让人心醉。花园里的鲜花争奇斗艳,树木也变得绿意盎然。小鸟在枝头欢快地歌唱,蝴蝶在花丛中翩翩起舞,一切都在书写着大自然的律动和生灵活力的增强。"; const encryptedStr = encrypt(originalStr); console.log("加密后的字符串:", encryptedStr);  const decryptedStr = decrypt(encryptedStr); console.log("解密后的原字符串:", decryptedStr);
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 15 天

 楼主| 发表于 2024-6-12 10:28:04 | 显示全部楼层   重庆市重庆市
haixianseng 发表于 2024-6-12 10:26
const crypto = require('crypto');  // 引入Node.js的crypto模块来进行哈希操作  // 创建一个字典来保存哈 ...

简单来说就是使用易语言把一个长文本压缩为短文本,然后还能还原出原来的长文本,就比如上面这个js代码
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 15 天

 楼主| 发表于 2024-6-12 10:28:32 | 显示全部楼层   重庆市重庆市
haixianseng 发表于 2024-6-12 10:28
简单来说就是使用易语言把一个长文本压缩为短文本,然后还能还原出原来的长文本,就比如上面这个js代码 ...

最好就是20字符以内,当然越短越好
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 15 天

 楼主| 发表于 2024-6-12 10:29:29 | 显示全部楼层   重庆市重庆市
const crypto = require('crypto');  // 引入Node.js的crypto模块来进行哈希操作

// 创建一个字典来保存哈希值和原字符串的对应关系
const hashTable = new Map();

// 加密函数
function encrypt(str) {
  const hash = crypto.createHash('sha256').update(str).digest('hex');
  const shortHash = hash.substring(0, 16);  // 取前16个字符
  hashTable.set(shortHash, str);
  return shortHash;
}
// 解密函数
function decrypt(shortHash) {
  return hashTable.get(shortHash);
}

const originalStr = "春天的美景如诗如画,让人心醉。花园里的鲜花争奇斗艳,树木也变得绿意盎然。小鸟在枝头欢快地歌唱,蝴蝶在花丛中翩翩起舞,一切都在书写着大自然的律动和生灵活力的增强。";
const encryptedStr = encrypt(originalStr);
console.log("加密后的字符串:", encryptedStr);

const decryptedStr = decrypt(encryptedStr);
console.log("解密后的原字符串:", decryptedStr);
回复 支持 反对

使用道具 举报

结帖率:100% (53/53)

签到天数: 24 天

发表于 2024-6-12 10:30:07 | 显示全部楼层   江西省南昌市
haixianseng 发表于 2024-6-12 10:28
简单来说就是使用易语言把一个长文本压缩为短文本,然后还能还原出原来的长文本,就比如上面这个js代码 ...

那用  编码_BASE64编码/解码  呗。
回复 支持 反对

使用道具 举报

结帖率:100% (53/53)

签到天数: 24 天

发表于 2024-6-12 10:34:38 | 显示全部楼层   江西省南昌市
  
变量名类 型静态数组备 注
enc文本型 
enc = 编码_BASE64编码 (到字节集 ( #常量2 ))
调试输出 (enc)
调试输出 (“--------------”)
调试输出 (到文本 (编码_BASE64解码 (enc, )))


i支持库列表   支持库注释   
spec特殊功能支持库




回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 15 天

 楼主| 发表于 2024-6-12 10:35:11 | 显示全部楼层   重庆市重庆市
fire9 发表于 2024-6-12 10:30
那用  编码_BASE64编码/解码  呗。

这个行不通的,长的很嘞
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 2 天

发表于 2024-6-12 11:07:11 | 显示全部楼层   广东省佛山市
这不是压缩,这就是个哈希表,无论多大数据都转成md5之类的几个字符,当做key存储,把原数据存在value里面,返回key你就当做是加密数据,然后根据key找出value你就当做解密
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 15 天

 楼主| 发表于 2024-6-12 11:21:38 | 显示全部楼层   重庆市重庆市
7ian 发表于 2024-6-12 11:07
这不是压缩,这就是个哈希表,无论多大数据都转成md5之类的几个字符,当做key存储,把原数据存在value里面 ...

我能想到的就是加密,解密,压缩长度了
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

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

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

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