高分求一段算法的vb代码。

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:13:28
如本机机器码为:Z3WIL6UF
对应的ASCII码是:
5A 33 57 49 4C 36 55 46
每一位的ASCII码都减3:
57 30 54 46 49 33 52 43
然后逆序。
43 52 33 49 46 54 30 57
顺数第二位加1,52+1=53
倒数第二位减2,30-2=2E
互换:
43 2E 33 49 46 54 53 57
转换成字符串形式就是注册码:
C.3IFTSW

求教高手这段算法该怎么用vb写,本人正学习vb,请大家帮帮忙,谢谢!
只是一个小软件,叫“桌面任我排2.0”,这样的软件也没什么用,只是学习算法,举一反三那样子啦。哈哈

Private Sub Form_Load()
InputBox "注册码为:", "请复制", RegCode("Z3WIL6UF")
End
End Sub

Function RegCode$(JQM$)
Dim arr() As Byte
arr = StrConv(JQM, vbFromUnicode)
t& = UBound(arr)
For i& = 0 To t
RegCode = Chr(IIf((i = 1) Or (i = t - 1), (arr(t-i)) + IIf(i = 1, 1, -2), arr(i)) - 3) & RegCode
Next
End Function

语句嵌套太多,绕头

====================================

见过楼主了
楼主身边是否有一位汇编达人天天没事就帮你追注册码玩啊?
另,请楼主说出这个算法是哪个软件的注册码算法,大家碰上相同的软件时也就可以共同获益了

====================================

我错了,我改,对不起大家

爱莫能助了。。

楼上厉害,看见XOR就迷糊,从来没用过这逻辑

Private Sub Command1_Click()
Dim A As String
Dim B()
A = "Z3WIL6UF"
n = Len(A)
ReDim B(1 To n)
For i = 1 To n
B(i) = Asc(Mid(A, i, 1)) - 3
Next i
For i = 1 To Int(n / 2)
bb = B(i)
B(i) = B(n -