28,406
社区成员
发帖
与我相关
我的任务
分享
Function AoYunShowr(password, AoYunShow)
Dim MIN_Morfi,MAX_Morfi,NUM_Morfi,offset,Str_len,i,code,To_TxT
MIN_Morfi = 32
MAX_Morfi = 126
NUM_Morfi = MAX_Morfi - MIN_Morfi + 1
offset = password
Rnd -1
Randomize offset
AoYunShow = Replace(AoYunShow, "/*/", Chr(34)) '将字符串中的"/*/"替换成双引号
Str_len = Len(AoYunShow) '得到替换后的长度
For i = 1 To Str_len '遍历整个字符串
Code = Asc(Mid(AoYunShow, i, 1)) '把每个字符转换成对应的ASCII码
If Code >= MIN_Morfi And Code <= MAX_Morfi Then 'ascii在26到126范围之内的(估计是键盘上能按出来的可以看:http://www.weste.net/tools/ASCII.asp)
Code = Code - MIN_Morfi '为什么减我就不知道了
offset = Int((NUM_Morfi + 1) * Rnd) '从32到126之间随机抽取一个
Code = ((Code - offset) Mod NUM_Morfi) '这个取余也不太明白
If Code < 0 Then Code = Code + NUM_Morfi
Code = Code + MIN_Morfi
To_TxT = To_TxT & Chr(Code)
AoYunShowr = Replace(To_TxT, "\*\", vbCrLf)
Else
To_TxT = To_TxT & Chr(Code)
AoYunShowr = Replace(To_TxT, "\*\", vbCrLf)
End If
Next
End Function