zoukankan      html  css  js  c++  java
  • ASP 简单的异或加密方法

    <%
    最简单的加密方法:XOR
    ----------------------

    g_CryptThis = "中国-China"
    strFullKeyLen = Len(g_CryptThis)

    strFullKey = KeyGen(strFullKeyLen)

    Response.Write "<p>原始字符串: " & g_CryptThis & "<p>"
    Response.Write "<p>密钥: " & strFullKey  & "<p>"
    Response.Write "<p>加密后: " & Server.URLEncode(EnCrypt(g_CryptThis)) & "<p>"
    Response.Write "<p>解密后: " & DeCrypt(EnCrypt(g_CryptThis)) & "<p>"

    异或加密
    Function EnCrypt(strCryptThis)
       Dim strChar, iKeyChar, iStringChar, i
       for i = 1 to Len(strCryptThis)
          iKeyChar = Asc(mid(strFullKey,i,1))
          iStringChar = Asc(mid(strCryptThis,i,1))
          iCryptChar = iKeyChar Xor iStringChar
          strEncrypted =  strEncrypted & Chr(iCryptChar)
       next
       EnCrypt = strEncrypted
    End Function

    异或解密
    Function DeCrypt(strEncrypted)
    Dim strChar, iKeyChar, iStringChar, i
       for i = 1 to Len(strEncrypted)
          iKeyChar = (Asc(mid(strFullKey,i,1)))
          iStringChar = Asc(mid(strEncrypted,i,1))
          iDeCryptChar = iKeyChar Xor iStringChar
          strDecrypted =  strDecrypted & Chr(iDeCryptChar)
       next
       DeCrypt = strDecrypted
    End Function

    产生指定长度的随机密钥
    Function KeyGen(strlength)
        Dim i,UB
        Dim Temp
        Dim Poss
        Poss = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        Temp = ""

        UB = Len(Poss)
        For i = 1 To strlength
            Randomize
            Temp = Temp & Mid(Poss,Int((UB - 0 + 1) * Rnd + 1),1)
        Next
        KeyGen = Temp
    End Function
    %>
  • 相关阅读:
    MySQL---exists检查数据库对象是否存在
    MySQL---自查询
    MySQL---多表查询
    等待元素
    单元测试---testsuite对象
    mysql--事务
    untieeest方法
    线性,模块,数据,关键字的作用
    selenium中隐式等待和显示等待的区别
    软件测试的原则
  • 原文地址:https://www.cnblogs.com/love2wllw/p/1730662.html
Copyright © 2011-2022 走看看