社区
基础编程
帖子详情
如何对字符串进行可逆运算,得到由数字和小写字母组成的字符串?
www_aspsun_com
2004-11-09 11:08:33
就好像MD5算出来得一样,但是要可逆的。
算出来的字符串要能还原,但是对于长度不限,不过最好能够固定长度,或者不超过某个固定长度。
...全文
239
14
打赏
收藏
如何对字符串进行可逆运算,得到由数字和小写字母组成的字符串?
就好像MD5算出来得一样,但是要可逆的。 算出来的字符串要能还原,但是对于长度不限,不过最好能够固定长度,或者不超过某个固定长度。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mikespook
2004-11-10
打赏
举报
回复
BASE64编码后将所有符号都进行替换~~~比如=替换成1,同时将原先有的1都替换成11。
解码时,先将独立的1替换成=,再将所有连续的多个1都删掉一个1,然后BASE64反编码就可以了~~~
上面的替换算法是NOVELL网最早的一种协议的算法~~~不是我乱编的,别骂我~~
-神仙-
2004-11-10
打赏
举报
回复
base64
xuzuning
2004-11-10
打赏
举报
回复
<?php
$s = "算出来的字符串要能还原,但是对于长度不限,不过最好能够固定长度,或者不超过某个固定长度。";
//编码
echo $t = strtolower(str_replace('%','',urlencode($s)));
//解码
echo urldecode(preg_replace('/\w\w/','%\\0',$t));
?>
ice_berg16
2004-11-10
打赏
举报
回复
简单的方法就是根据一个字符串对目标串进行各种运算,当然算法你可以随便怎么算都可以。
只要你能保证能算回来,
xuzuning
2004-11-10
打赏
举报
回复
“任何编码如果想要可逆,其长度肯定不小于原始长度”
非也!压缩也是一种编码方式,其长度通常就小于原始长度
base64编码有现成的算法,无须自己编写。既然不能符合你的要求,那么可就要自己编写了
最简单的就是取十六进制的机器码值了,长度将是原串的两倍
linyang0106linyang
2004-11-10
打赏
举报
回复
ding 一下
www0aspsun0com
2004-11-10
打赏
举报
回复
是啊,但是base64会产生大小写字母和加号等字符,不满足我的由数字和小写字母组成的条件。
我的意思只要不是算出来的长度过分长就可以了,我一般原始字符串也就10几个字符。
stan23
2004-11-10
打赏
举报
回复
任何编码如果想要可逆,其长度肯定不小于原始长度
不然就像照相一样,相片永远还原不到实物
xuzuning
2004-11-10
打赏
举报
回复
“就好像MD5算出来得一样,但是要可逆的。”
注意md5得到的是特征串,所以可定长、不可逆
“算出来的字符串要能还原,但是对于长度不限,不过最好能够固定长度,或者不超过某个固定长度。”
可逆可用编码或加密算法,但都不能保证定长除非是一个天文数字的长度
既然“希望越简单越好,效率越高越好,是为了方便存储,无所谓容不容易破解”
那么只需用base64编码即可
jxflll
2004-11-10
打赏
举报
回复
帮你顶一下先。学习。
www0aspsun0com
2004-11-10
打赏
举报
回复
感谢各位
唠叨老大,你的代码我测试一下,有点问题啊,就拿这个页面的地址测试:
<?php
$s = "http://community.csdn.net/Expert/topic/3537/3537595.xml?temp=.2341425";
//编码
echo $t = strtolower(str_replace('%','',urlencode($s)));
//解码
echo urldecode(preg_replace('/\w\w/','%\\0',$t));
?>
生成
http3a2f2fcommunity.csdn.net2fexpert2ftopic2f35372f3537595.xml
3ftemp3d.2341425%ht%tp://%co%mm%un%ity.%cs%dn.%ne%t2?xp%er%t2%ft%op%ic/57/57Y5.%xm%l3%ft%em%p3d.#AB5
即含有.字符,也不能还原啊
-神仙-
2004-11-10
打赏
举报
回复
倒
发错贴了...............
-神仙-
2004-11-10
打赏
举报
回复
先不传
www0aspsun0com
2004-11-09
打赏
举报
回复
希望越简单越好,效率越高越好,是为了方便存储,无所谓容不容易破解
上海电机学院C语言实训答案
(29)某公司在传输数据过程中为了安全要对数据
进行
加密,若传递的是四位的整数,对其
进行
加密的规则为:每位
数字
都加上5,然后用和除以10的余数代替该
数字
,再将第一位和第四位交换,第二位和第三位交换。...
C程序范例宝典(基础代码详解)
实例080 使用指向指针的指针对
字符串
排序 100 第3章 数据结构 103 3.1 结构体 104 实例081 结构体简单应用 104 实例082 找最高分 106 实例083 平均成绩 108 实例084 比较计数 109 实例085 信息查询...
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、...
c语言经典案例
实例115
字符串
加密和解密 151 实例116 对调最大数与最小数位置 153 第10章 函数编程基础 155 实例117 输出两个数中的最大值 156 实例118 判断素数 157 实例119 递归解决年龄问题 158 实例120 递归解决分鱼问题 159 ...
glibc 知:手册05:
字符串
和数组
文章目录1. 前言2.
字符串
和数组实用程序2.1.
字符串
的表示2.2.
字符串
和数组约定2.3....对
字符串
(以空结尾的字节序列)的操作是许多程序的重要
组成
部分。GNU C 库提供了一组广泛的
字符串
实用函数,包括用于复
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章