用sha1单向加密文本框中值,不可解密,一般用于密码加比较,单向不可解
Imports System.Web.Security Dim str As String
str = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text, "sha1")
md5双向加密解密,类值如下;
Imports System.Security.Cryptography
Imports System.Text
Imports System.IO
Public Class encryclass
'加密输入字符串des
Private myserverprovider As New DESCryptoServiceProvider
Private crykey() As Byte = {100, 110, 130, 120, 150, 130, 100, 120}
'第一个参数的含义是:对称算法的机密密钥(长度为64位,也就是8个字节)
'可以人工输入,也可以随机生成方法是:MyServiceProvider.GenerateKey();
Private cryiv() As Byte = {120, 130, 140, 140, 120, 100, 120, 100}
'第二个参数的含义是:对称算法的初始化向量(长度为64位,也就是8个字节)
'可以人工输入,也可以随机生成方法是:MyServiceProvider.GenerateIV();
Public Function encryptstring(ByVal value As String) As String
'从DES算法的加密类对象的CreateEncryptor方法,创建一个加密转换接口对象
Dim mytransform As ICryptoTransform = myserverprovider.CreateEncryptor(crykey, cryiv)
Dim byt() As Byte = Encoding.UTF8.GetBytes(value) '转换为字节数组
Dim ms As New MemoryStream
Dim cs As New CryptoStream(ms, mytransform, CryptoStreamMode.Write) '目的是将目标数据流、要使用的转换和流的模式初始化 CryptoStream 类的新实例。
cs.Write(byt, 0, byt.Length)
cs.FlushFinalBlock() '用缓冲区的当前状态更新基础数据源或储存库,随后清除缓冲区。
cs.Close()
Return Convert.ToBase64String(ms.ToArray()) '返回字符串
End Function
'解密输入字符串
Public Function decryptstring(ByVal value As String) As String
'获取产生的随机变量值,解密过程之前需调用该相同的参数
Dim mytransform As ICryptoTransform = myserverprovider.CreateDecryptor(crykey, cryiv)
Dim byt() As Byte = Convert.FromBase64String(value)
Dim ms As New MemoryStream
Dim cs As New CryptoStream(ms, mytransform, CryptoStreamMode.Write)
cs.Write(byt, 0, byt.Length)
cs.FlushFinalBlock()
cs.Close()
Return Encoding.UTF8.GetString(ms.ToArray) '返回字符串
End Function
End Class