在ASP中常用的加密和解密技术有以下几种:
- MD5加密
MD5是一种常用的哈希函数,可以将任意长度的数据(字节串)映射为一个固定长度的输出(通常是128位)。常用于数据签名、口令加密等场景。在ASP中,可以使用以下代码对字符串进行MD5加密:
Function MD5(str)
Dim md5, i
Set md5 = Server.CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
Dim dataToHash, hashedDataBytes
dataToHash = str
hashedDataBytes = md5.ComputeHash_2((StrConv(dataToHash, vbFromUnicode)))
Dim hashedDataString
For i = 1 To LenB(hashedDataBytes)
hashedDataString = hashedDataString & Right("0" & Hex(AscB(MidB(hashedDataBytes, i, 1))), 2)
Next
MD5 = hashedDataString
End Function
- DES加密
DES是一种对称加密算法,常用于数据加密和解密。在ASP中,可以使用以下代码对字符串进行DES加密:
Function DESEncrypt(str, key)
Dim des, iv
Set des = Server.CreateObject("System.Security.Cryptography.DESCryptoServiceProvider")
iv = des.IV
des.Key = StrConv(key, vbFromUnicode)
des.Mode = 1
des.Padding = 2
Dim dataToEncrypt, encryptedDataBytes
dataToEncrypt = StrConv(str, vbFromUnicode)
encryptedDataBytes = des.CreateEncryptor().TransformFinalBlock(dataToEncrypt, 0, LenB(dataToEncrypt))
DESEncrypt = iv & encryptedDataBytes
End Function
- RSA加密
RSA是一种非对称加密算法,常用于数据加密和数字签名。在ASP中,可以使用以下代码对字符串进行RSA加密:
Function RSAEncrypt(str, publicKey)
Dim rsa, dataToEncrypt, encryptedDataBytes
Set rsa = Server.CreateObject("System.Security.Cryptography.RSACryptoServiceProvider")
rsa.FromXmlString(publicKey)
dataToEncrypt = StrConv(str, vbFromUnicode)
encryptedDataBytes = rsa.Encrypt(dataToEncrypt, False)
RSAEncrypt = encryptedDataBytes
End Function
以上代码仅供参考,实际使用中应根据具体情况进行调整。