加密算法的对应解密算法!
有加密算法:(VB)
Public Function sxhJiaMifashion(ByVal StrPwdEncry As String) As String
Dim LPwdLen As Long
Dim INo As Integer
Dim JNo As Integer
Dim CTmp As String
Dim strTmp0 As String
Dim strTmp1 As String
Dim iMod As Integer
LPwdLen = Len(StrPwdEncry)
For INo = 2 To LPwdLen
For JNo = 1 To LPwdLen
CTmp = Mid(StrPwdEncry, JNo, 1)
iMod = JNo Mod INo
If iMod = 0 Then
strTmp0 = strTmp0 + CTmp
Else
strTmp1 = strTmp1 + Chr(Asc(CTmp) + iMod)
End If
Next JNo
StrPwdEncry = Reverse(Reverse(Right(strTmp0, LPwdLen)) + Left(strTmp1, LPwdLen)) + Chr(INo)
Next INo
JiaMi = StrPwdEncry
End Function Public Function Reverse(ByVal Revstr As String) As String
Dim I As Long
Dim tEMP As String
tEMP = ""
For I = Len(Revstr) To 1 Step -1
tEMP = tEMP & Mid(Revstr, I, 1)
Next
Reverse = tEMP
End Function
求其解密算法~!
解决方案 »
- 如何在picture里面播放avi视频?如何从picture中直接提取某刻图像对其操作?
- [非常着急!]请问如何在VB中编写COM+组件,并编译成DLL供ASP调用呢?给出可行性方案者有分~
- 如何在datagrid中把原来是数字显示的字段用汉字表示出来
- 在编辑宏代码时【工具】/【引用】里面点击SolidWorks Constant type library时出“名称与已存在的模块、工程或对象冲突”是怎么回事啊?
- 请问如何把datagrid中的数据到出到Excel中做报表
- 我打开了一个excel 怎么知道记录的个数
- 哪位仁兄能够提供iphlpapi.dll的详细使用说明啊?
- 网上下载的源代码怎么加到自己的工程中?
- 虚心请教,请问论坛系统里主贴和回复列表页面一般是怎样实现的?
- 如何锁定文件的打开方式?
- 图片如何加载到access数据库中及如何调用
- 一个困扰了我好久的问题:vb操作vfp为什么不支持“select...into..."语句!
Public Function unjiami(ByVal str As String) As String
Dim INo As Long
Dim JNo As Long
Dim LPwdLen As Long
Dim CTmp As String
Dim i As Long
Dim strTmp0 As String
Dim strTmp1 As String
Dim iMod As Integer
Dim temp As String
Dim aa As String
Dim bb As String
Dim StrPwdEncry As String
LPwdLen = Asc(Right(str, 1))
StrPwdEncry = Space(LPwdLen)
For INo = 2 To LPwdLen
For JNo = 1 To LPwdLen
CTmp = Mid(StrPwdEncry, JNo, 1)
iMod = JNo Mod INo
If iMod = 0 Then
strTmp0 = strTmp0 + CTmp
Else
strTmp1 = strTmp1 + Chr(Asc(CTmp) + iMod)
End If
Next JNo
aa = strTmp0
bb = strTmp1
Next INo
temp = Reverse(Left(str, Len(str) - 1))
strTmp1 = Right(temp, Len(Left(bb, LPwdLen)))
strTmp0 = Reverse(Left(temp, Len(Right(aa, LPwdLen))))
For i = 1 To LPwdLen
Mid(strTmp1, i, 1) = Chr(Asc(Mid(strTmp1, i, 1)) - 1)
Next
temp = ""
For i = 1 To LPwdLen
If i Mod 2 = 0 Then
temp = temp + Mid(strTmp0, Len(strTmp0) + 1 - i / 2, 1)
Else
temp = temp + Mid(strTmp1, (i + 1) / 2, 1)
End If
Next
unjiami = temp
End Function
你调试过没有啊~?好象代码逻辑有错
而且三未以上解密是不正确 的~