- UID
- 16062
注册时间2006-6-19
阅读权限40
最后登录1970-1-1
独步武林
该用户从未签到
|
发表于 2007-10-25 15:34:38
|
显示全部楼层
原帖由 一品天下 于 2007-10-19 22:48 发表
我的机器码是C2B9B820E82788 E6HALDWLHORT
第1位==>ASCII+2==>字符 C==>43+2==>E
第2位==>ASCII+4==>字符 2==>32+4==>6
第3位==>ASCII+6==>字符 B==>42+6==>H
第4位==>ASCII+8==>字 ...
楼上的是正解!
关于算法的总结:先取机器码长度N,然后逐位取机器码每一个字符的ASCII码,计算(ASCII+2×N),将计算结果转换为大写字母和数字(如果该值不能转换为大写字母和数字则舍弃)
下面是vb6代码:
Private Sub Text1_Change()
Dim n#, dd$, du#
Text2.Text = ""
n = Len(Text1.Text)
For i = 1 To n
dd = Mid(Text1.Text, i, 1)
du = Asc(dd) + 2 * i
If ((du > 47) And (du < 58)) Or ((du > 64) And (du < 91)) Then
Text2.Text = Text2.Text & Chr(du)
End If
Next
End Sub
[ 本帖最后由 jjdg 于 2007-10-25 16:29 编辑 ] |
|