⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asp加密算法.htm

📁 是加密算法
💻 HTM
📖 第 1 页 / 共 2 页
字号:
}                                     

else                                     

document.write("<FONT COLOR=\"white\">"+y.getYear()+"年" + mName[y.getMonth()] + y.getDate() + "日" + dName[y.getDay()] + "" + "</FONT>");                                     

}                                     

else                                     

{                                     

document.write("<FONT COLOR=\"white\">"+y.getFullYear() +"年"+ mName[y.getMonth()] + y.getDate() + "日" + dName[y.getDay()] + "</FONT>");                                     

}                                     

// -->                                     

</SCRIPT>                                     

        </font> </div>                                     

    </td>                                     

  </tr>                                     

</table>                                     

<div align="center"><br>

  <br>

</div>

<table width="611" border="0" align="center" cellpadding="0" cellspacing="0" height="100">

  <tr bgcolor="#000099"> 

    <td width=611 height=41 align=center> 

      <p><font size="3" color="#FFFFFF">使用ASP加密算法加密你的数据(一) </font></p>

      <p><font color="#FFFFFF">银河工作组整理 </font>   </p>

    </td>

  </tr>

  <tr bgcolor="#99CCFF"> 

    <td width=611 height=55 align=center> 

      <p>&nbsp; 

      <p align="left">在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个字符串。<br>

          下面的代码就是能够同时实现这个功能的函数Crypt.asp文件<br>

        <br>

        &lt;% <br>

        Dim g_Key<br>

        <br>

        Const g_CryptThis = &quot;Now is the time for all good men to come to 

        the aid of their country.&quot;<br>

        Const g_KeyLocation = &quot;c:\key.txt&quot;<br>

        <br>

        g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(g_CryptThis))<br>

        <br>

        Response.Write &quot;&lt;p&gt;ORIGINAL STRING: &quot; &amp; g_CryptThis 

        &amp; &quot;&lt;p&gt;&quot;<br>

        Response.Write &quot;&lt;p&gt;KEY VALUE: &quot; &amp; g_Key &amp; &quot;&lt;p&gt;&quot;<br>

        Response.Write &quot;&lt;p&gt;ENCRYPTED CYPHERTEXT: &quot; &amp; EnCrypt(g_CryptThis) 

        &amp; &quot;&lt;p&gt;&quot;<br>

        Response.Write &quot;&lt;p&gt;DECRYPTED CYPHERTEXT: &quot; &amp; DeCrypt(EnCrypt(g_CryptThis)) 

        &amp; &quot;&lt;p&gt;&quot;<br>

        <br>

        Function EnCrypt(strCryptThis)<br>

        Dim strChar, iKeyChar, iStringChar, I<br>

        for I = 1 to Len(strCryptThis)<br>

        iKeyChar = Asc(mid(g_Key,I,1))<br>

        iStringChar = Asc(mid(strCryptThis,I,1))<br>

        ' *** uncomment below to encrypt with addition,<br>

        ' iCryptChar = iStringChar + iKeyChar<br>

        iCryptChar = iKeyChar Xor iStringChar<br>

        strEncrypted = strEncrypted &amp; Chr(iCryptChar)<br>

        next<br>

        EnCrypt = strEncrypted<br>

        End Function<br>

        <br>

        Function DeCrypt(strEncrypted)<br>

        Dim strChar, iKeyChar, iStringChar, I<br>

        for I = 1 to Len(strEncrypted)<br>

        iKeyChar = (Asc(mid(g_Key,I,1)))<br>

        iStringChar = Asc(mid(strEncrypted,I,1))<br>

        ' *** uncomment below to decrypt with subtraction <br>

        ' iDeCryptChar = iStringChar - iKeyChar <br>

        iDeCryptChar = iKeyChar Xor iStringChar<br>

        strDecrypted = strDecrypted &amp; Chr(iDeCryptChar)<br>

        next<br>

        DeCrypt = strDecrypted<br>

        End Function<br>

        <br>

        Function ReadKeyFromFile(strFileName)<br>

        Dim keyFile, fso, f<br>

        set fso = Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) 

        <br>

        set f = fso.GetFile(strFileName) <br>

        set ts = f.OpenAsTextStream(1, -2)<br>

        <br>

        Do While not ts.AtEndOfStream<br>

        keyFile = keyFile &amp; ts.ReadLine<br>

        Loop <br>

        <br>

        ReadKeyFromFile = keyFile<br>

        End Function<br>

        <br>

        %&gt; <br>

        <br>

          在Crypt.asp中我们首先从密钥文件中得到密钥值,然后从这段密钥中截取和我们需要加密的明文同样长度的密钥。然后使用一个简单的异或操作将明文和密钥进行运算,那么得到的结果就是加密后的密文了。过程很简单的。由于是使用了异或操作,所以解密将非常简单,只要使用同样的密钥对密文再次进行异或操作就能够解密了。<br>

          在上面介绍的基础上,你可以少加改动,就可以使用同样的方法加密一个文件。唯一需要注意的是,对于一个二进制文件,你需要做一些完整性检查以保证转换回来的字符不要越界。<br>

          现在你需要做的就是把密钥保存在服务器上的一个安全的地方(不能够被外部访问)<br>

        <br>

        附注:<br>

          Vernam密码是由Gilbert Vernam (他是AT&amp;T的工程师)在1918年发明的。这是一种使用异或方法进行加密解密的方法。&nbsp;</p>

      <p align="center">&nbsp;</p>

      <p>&nbsp; </p>

    </td>

  </tr>

</table>                                   

      

                            

                                  

<table width="719" border="0" align="center" cellpadding="0" cellspacing="0" height="100">

  <tr> 

    <td width=719 height=110 align=center> 

      <table width="100%" border="0">

        <tr> 

          <td> 

            <table width="100%" border="0">

              <tr> 

                <td> 

                  <hr>

                </td>

              </tr>

            </table>

          </td>

        </tr>

        <tr> 

          <td height="51"> 

            <div align="center"> 

              <p>版权所有&copy 2000-2001 银河空间工作组保留所有权利</p>

              <p>本站由银河工作组维护 </p>

            </div>

          </td>

        </tr>

      </table>

    </td>

  </tr>

</table>

<p align="center">&nbsp;</p>

</body>                     

                     

</html>                     

                   







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -