Foxtable(狐表)用户栏目专家坐堂 → [求助]狐表引用vb.net编写DEC加密解密程序?


  共有6137人关注过本帖树形打印复制链接

主题:[求助]狐表引用vb.net编写DEC加密解密程序?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/11 10:10:00 [显示全部帖子]

1、添加命名空间,空间缩写为sur, sur可以随便取,但是要和代码保持一致:

 

 
图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看

 

2、将下面的修改后的代码复制到foxtable的全局代码中,注意加粗的:

 

Public Function Encrypt(ByVal pToEncrypt As String, ByVal sKey As String) As String
Dim DES As New sur.DESCryptoServiceProvider()
Dim inputByteArray() As Byte
inputByteArray = Encoding.Default.GetBytes(pToEncrypt)
''建立加密对象的密钥和偏移量
''原文使用ASCIIEncoding.ASCII方法的GetBytes方法
''使得输入密码必须输入英文文本
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
''写二进制数组到加密流
''(把内存流中的内容全部写入)
Dim ms As New System.IO.MemoryStream()
Dim cs As New sur.CryptoStream(ms, DES.CreateEncryptor, sur.CryptoStreamMode.Write)
''写二进制数组到加密流
''(把内存流中的内容全部写入)
cs.Write(inputByteArray, 0, inputByteArray.Length)
cs.FlushFinalBlock()
''建立输出字符串
Dim ret As New StringBuilder()
Dim b As Byte
For Each b In ms.ToArray()
    ret.AppendFormat("", b)
Next
Return ret.ToString()
End Function


Public Function Decrypt(ByVal pToDecrypt As String, ByVal sKey As String) As String
  Dim DES As New sur.DESCryptoServiceProvider()
  ''把字符串放入byte数组
  Dim len As Integer
  len = pToDecrypt.Length / 2 - 1
  Dim inputByteArray(len) As Byte
  Dim x, i As Integer
  For x = 0 To len
  i = Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16)
  inputByteArray(x) = CType(i, Byte)
  Next
  ''建立加密对象的密钥和偏移量,此值重要,不能修改
  DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
  DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
  Dim ms As New System.IO.MemoryStream()
  Dim cs As New sur.CryptoStream(ms, DES.CreateDecryptor, sur.CryptoStreamMode.Write)
  cs.Write(inputByteArray, 0, inputByteArray.Length)
  cs.FlushFinalBlock()
  Return Encoding.Default.GetString(ms.ToArray)
End Function


 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/11 10:11:00 [显示全部帖子]

所以vb.net的代码其实可以直接在foxtable用的,只是命名空间

 回到顶部