这段加密算法还可以反成明码吗?

NIRVANAIII 2002-04-26 10:34:00
Function mistake(preString)
Dim texts
Dim seed As Integer
Dim i, length
preString = Trim(preString)
length = Len(preString)
seed = length
Randomize (length)
texts = ""
For i = 1 To length
seed = Int(94 * Rnd(-Asc(Mid(preString, i, 1)) - seed * Asc(Right(preString, 1))) + 32)
texts = texts & Chr(seed) & Chr(Int(94 * Rnd(-seed) + 32))
Next
Dim dist
dist = texts
For i = 1 To Len(texts)
If Mid(texts, i, 1) <> "'" Then
dist = dist + Mid(texts, i, 1)
End If
Next
mistake = dist
End Function

先发10分。
解决了,加100分!!!!!!!
...全文
49 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
NIRVANAIII 2002-05-08
  • 打赏
  • 举报
回复
谢谢各位了。
我现在放弃了,看来是不成了。

给分了!!
lovingkiss 2002-05-08
  • 打赏
  • 举报
回复
CMOS密码还不唯一呢;只是个转成明码,也没有说一定要是原来的那个啊;
yuhaii 2002-05-08
  • 打赏
  • 举报
回复
gz
NIRVANAIII 2002-05-08
  • 打赏
  • 举报
回复
再来看看!!!
asciiman 2002-05-02
  • 打赏
  • 举报
回复
??
dsclub 2002-05-02
  • 打赏
  • 举报
回复
转不了!!
NIRVANAIII 2002-05-01
  • 打赏
  • 举报
回复
谢谢,天同的关注。

jyu1221 2002-04-28
  • 打赏
  • 举报
回复
今天告诉大家一个正确的回答,就是这段加密算法不可以反成明码,
理由如下,
把CHR(13)传到函数里得到的结果是8U
把CHR(82)传到函数里得到的结果也是8U
这说明了,明码与密码不是一一对应的关系,
而是明码的范围广,密码的范围小。
所以想把密码还原成“原来”的密码是不可能的,
jyu1221 2002-04-27
  • 打赏
  • 举报
回复
这个应该是可以解的,因为它用到RND的伪随机函数,
这说明了它每次取出来的数值是固定的。
由于现在已经太晚了,先睡了,明天再帮你看一下
NIRVANAIII 2002-04-27
  • 打赏
  • 举报
回复
我只是做到这地步了:
加密后的字符数是原明码的2倍。
通过单数位的字符可以求得以上代码的seed的值。
但是,seed是被取整得来的:
seed = Int(94 * Rnd(-Asc(Mid(preString, i, 1)) - seed * Asc(Right(preString, 1))) + 32)
但是,被去掉的位数是什么怎么搞定呢?

求求各位了!!
zyl910 2002-04-27
  • 打赏
  • 举报
回复
一时想不清楚

帮你up算了
NIRVANAIII 2002-04-27
  • 打赏
  • 举报
回复
up
jason_li 2002-04-26
  • 打赏
  • 举报
回复
gz
dsclub 2002-04-26
  • 打赏
  • 举报
回复
楼上,到底是什么呀??????

说出来嘛!!


给分的!!
lovingkiss 2002-04-26
  • 打赏
  • 举报
回复
能加当然肯定能解拉

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧