查看: 293|回复: 1

[文章教程] ASP对字符串实现SHA256/SHA512加密示范

[复制链接]
xuanxiao 发表于 2023-5-1 14:23:30 | 显示全部楼层 |阅读模式
base64和hex经常用在加密解密的好处:
这种编码方式将密文以一种友好的方式显示出来. 同时base64和hex使用的字符集都来自ascii字符集, 因此这些密文在所有支持ascii的机器上都能正常显示.
base64是以6个二进制位来表示一个字符, 那么对于hex, 则是以4个二进制位表示一个字符

SHA安全散列算法(Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。
微信截图_20230501141443.png

Rsa256加密.asp (1.08 KB, 下载次数: 3, 售价: 50 个ASP币)


微信截图_20230501142225.png
 楼主| xuanxiao 发表于 2023-5-2 10:02:15 | 显示全部楼层
  1. <%
  2. Response.Write SHA512("ttasp" , False)        

  3. Public Function SHA512(sIn , bB64)

  4.     '128 Hex:   cf83e1357eefb8bd...etc
  5.     '88 Base-64:   z4PhNX7vuL3xVChQ...etc
  6.    
  7.     Dim oT , oSHA512
  8.     Dim TextToHash, bytes
  9.    
  10.     Set oT = CreateObject("System.Text.UTF8Encoding")
  11.     Set oSHA512 = CreateObject("System.Security.Cryptography.SHA512Managed")
  12.    
  13.     TextToHash = oT.GetBytes_4(sIn)
  14.     bytes = oSHA512.ComputeHash_2((TextToHash))
  15.    
  16.     If bB64 = True Then
  17.        SHA512 = ConvToBase64String(bytes)
  18.     Else
  19.        SHA512 = ConvToHexString(bytes)
  20.     End If
  21.    
  22.     Set oT = Nothing
  23.     Set oSHA512 = Nothing
  24.    
  25. End Function

  26. Private Function ConvToBase64String(vIn)  
  27.     Dim oD      
  28.     Set oD = CreateObject("MSXML2.DOMDocument")
  29.       With oD
  30.         .LoadXML "<root />"
  31.         .DocumentElement.DataType = "bin.base64"
  32.         .DocumentElement.nodeTypedValue = vIn
  33.       End With
  34.     ConvToBase64String = Replace(oD.DocumentElement.text, vbLf, "")
  35.    
  36.     Set oD = Nothing
  37. End Function

  38. Private Function ConvToHexString(vIn )
  39.     Dim oD      
  40.     Set oD = CreateObject("MSXML2.DOMDocument")      
  41.       With oD
  42.         .LoadXML "<root />"
  43.         .DocumentElement.DataType = "bin.Hex"
  44.         .DocumentElement.nodeTypedValue = vIn
  45.       End With
  46.     ConvToHexString = Replace(oD.DocumentElement.text, vbLf, "")
  47.    
  48.     Set oD = Nothing
  49. End Function

  50. %>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号