vb 加/解密字符串

帮我用vb写一个字符串加密/解密函数.要求如下;
(1)加密结果只包括大小写字母和数字。
(2)可对字母、符号和汉字加密。
(3)有解密函数(也就是可逆)。
(4)非Base64。
就像这样的
8f96f7ac48a64c7cac120204d515d6bd

Private Dict() As String

'加密函数
Private Function Encode(Txt As String) As String
Dim r As String, t As String
Dim i As Long
Dim k As Integer
Dim j As Long
Randomize Timer
For i = 1 To Len(Txt)
k = Asc(Mid(Txt, i, 1))
r = Hex(k)
r = String(4 - Len(r), "0") & r
t = ""
For j = 1 To 4
k = CDec("&h" & Mid(r, j, 1))
If k >= 14 Then
k = k + Int(Rnd() * 3) * 16
Else
k = k + Int(Rnd() * 4) * 16
End If
t = t & Dict(k)
Next j
Encode = Encode & t
Next i
End Function
'解密函数
Private Function Decode(Code As String) As String
Dim i As Long, j As Long, y As Long, l As Long
Dim k As Integer
Dim r As String, t As String
For i = 1 To Len(Code) Step 4
r = Mid(Code, i, 4)
t = ""
For j = 1 To 4
For l = 0 To UBound(Dict)
If Mid(r, j, 1) = Dict(l) Then
Exit For
End If
Next l
k = l Mod 16
t = t & Hex(k)
Next j
y = CDec("&h" & t)
If y > 32786 Then y = y - 65536
Decode = Decode & Chr(y)
Next i
End Function

Private Sub Form_Load()
'数据字典
Dict = Split("1|q|a|z|2|w|s|x|3|e|d|c|4|r|f|v|5|t|g|b|6|y|h|n|7|u|j|m|8|i|k|9|o|l|0|p|Q|W|E|R|T|Y|U|I|O|P|A|S|D|F|G|H|J|K|L|Z|X|C|V|B|N|M|", "|")
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-14
远风回答的是正解,支持一个
第2个回答  2010-08-14
我晕死 你还真当密码不是回事呢

设计可逆性密码需要公用加密密匙和解密私匙 非对称加密

理论上很少人帮到你了
第3个回答  2010-08-14
帮不了你,都不知道你要的是什么算法
相似回答
大家正在搜