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

📄 数据库开发md5算法在pb里面地完成[库库中文网]-系统编程教程 qqgb_com.htm

📁 MD5算法在PB里面地完成(html版)
💻 HTM
📖 第 1 页 / 共 5 页
字号:
    <tr>
      <td width="735" bgcolor="EEEEEE">
        <table width="725" height="5" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td></td>
          </tr>
        </table>
        <table width="725" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td background="/show/txtbg.jpg" bgcolor="#E0E0E0">
              <table width="700" border="0" align="center" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all">
                <tr>
                  <td><div class="title1">
                    <h1 align="center">MD5算法在PB里面地完成</h1>
            </div></td>
                </tr>
            </table>            </td>
          </tr>
          <tr>
            <td class="td3"><table width="723" height="170" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
              <tr>
                <td width="4" height="172">&nbsp;                </td>
                <td width="58" height="170" align="center" valign="middle" style="border-top:#BEBEBE 1px solid;border-bottom:#BEBEBE 1px solid;border-left:#bebebe 1px solid; "><img src="/show/con3.gif" width="57" height="250" border="0"></td>
                <td width="258" align="center" valign="top" style="border-top:#BEBEBE 1px solid;border-right:#BEBEBE 1px solid;border-bottom:#BEBEBE 1px solid;border-left:#fff 1px solid; "><table width="100%"  border="0" cellpadding="0" cellspacing="0" background="/show/con2.gif">
                    <tr align="center" >
                      <td height="31" ><a href="http://www.qqgb.com/Special/tujian/Index.html" target="_blank">学院最新推荐文章</a></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                      <td height="138" valign="top" bgcolor="#FFFFFF"><div class="12blueb"><script language='javascript' src='/Exam/JS/artQQGB3.js'></script></div></td>
                    </tr>
                </table></td>
                <td width="100" align="center" valign="top" style="border-top:#BEBEBE 1px solid;border-right:#BEBEBE 1px solid;border-bottom:#BEBEBE 1px solid;border-left:#fff 1px solid; ">
                  <table width="100%"  border="0" cellpadding="0" cellspacing="0" background="/show/sp_bg.gif">
                    <tr align="center" >
                      <td width="50%" height="31" >PS教程推荐</td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                      <td ><script language='javascript' src='/Article/JS/qqgbpstu.js'></script></td>
                    </tr>
                  </table></td>
                <td width="300" align="center" valign="top" style="border-top:#BEBEBE 1px solid;border-right:#BEBEBE 1px solid;border-bottom:#BEBEBE 1px solid;border-left:#fff 1px solid; "><script language='javascript' src='http://www.qQGb.com/tech/qqg300250con1sys1.js'></script></td>
                <td width="4">&nbsp;</td>
              </tr>
            </table>
              <table width="700" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="4"></td>
                </tr>
              </table></td>
          </tr>
      </table>      
        <table width="700" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="4"></td>
          </tr>
        </table></td>
      <td width="267" bgcolor="EEEEEE"><script language='javascript' src='/bar/200612/con1.js'></script></td>
    </tr>
</table>
  <table cellSpacing=0 cellPadding=0 width=1002 align=center border=0 class="td1">
    <tr>
      <td width="724" bgcolor="#FFFFFF" class="td5"> <div align="right"><img src="/show/3dian.gif" width="8" height="11">『MD5算法在PB里面地完成』<strong>如果文章有大量图片,显示会较慢,请等待图片下载完成</strong> </div></td>
      <td width="276" bgcolor="#FFFFFF" class="td5">&nbsp;</td>
    </tr>
  </table>
  <table height=52 cellSpacing=0 cellPadding=0 width=1002 align=center border=0 class="td1">
    <tr>
      <td width="735" height="26" rowspan="2" valign="top" bgcolor="eeeeee"><table width="725" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="4"></td>
          </tr>
        </table>
          <table width="725" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
            <tr>
              <td><img src="/show/txtbg1.gif" width="725" height="6"></td>
            </tr>
            <tr>
              <td height="20" class="td2"><table width="712" border="0" align="center" cellpadding="0" cellspacing="0">
                  <tr>
                    <td bgcolor="#F3F3F3" class="td4"><div align="right">点击数:<script language='javascript' src='/Program/GetHits.asp?ArticleID=149042'></script> 更新时间:2006-6-27&nbsp;</div></td>
                  </tr>
              </table></td>
            </tr>
            <tr>
              <td valign="top" class="td3"><table width="700" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td height="6"></td>
                  </tr>
                </table>
                  <table width="712" border="0" align="center" cellpadding="10" cellspacing="0">
                    <tr>
                      <td align="left" bgcolor="#FFFFFF" class="td4"><div class="red1"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td>
                              <script language='javascript' src='http://www.qqgB.com/tech/pcv1con1firefox.js'></script></td>
                        </tr>
                      </table></div><div class="14black">
                          本文给出MD5算法在PB中实现的完整源代码</p></div><div class="con_all"><p><div align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MD5算法自从1991开发出来以后广泛用于数字签名和加密解密领域。目前使用PB外的语言可以较为简单地实现了MD5加密,使用PB来实现的比较鲜见,这可能有如下两方面的原因:一,PB在位运算方面未提供直接使用的函数,要实现位运算比较麻烦;二,在PB(PB10之前的版本)中无法直接获取字符的unicode值。如果能够攻破这两个难点,在熟悉MD5算法之后应该比较容易地在PB中实现MD5加密。</div>
<div align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PB虽然未提供位运算方面直接使用的函数,但如果了解位运算的法则,同样可以实现位运算。不论是二元运算还是一元运算,参与运算的表达式都以补码方法表示,其结果也以补码表示。通用的做法是创建一个专门用于位运算的对象,使其实现进制之间的转化、位运算、求反、求补等功能,然后在加密时调用。关于根据原码求其反码、补码的运算法则可以参考相关的计算机书籍。</div>
<div align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在PB中虽然无法直接获取字符的unicode值(据说PB10有ASCW函数可以实现),但调用WINAPI可以实现,这个函数就是MultiByteToWideChar(注意该函数在PB环境下区分大小写),可运行于Windows95及以后的Windows操作系统。顺便提一下,目前网上大多数MD5加密算法中只取字符的ASCII,因而对于非英文语言的字符加密支持不够。</div>
<div align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以下是MD5算法在PB中实现的源代码,读者只需将其保存到sru格式的文件中然后导入到PB库文件中生成相应对象,然后依据PB的对象调用规则便可使用。由于作者水平有限,部分代码段未提供详细注释,敬请原谅。所有代码在PB8.0.3Build9704和Windows2000 AdvancedServer Service Pack4环境下运行正确。</div>
<div style="TEXT-INDENT: 21pt" align="left">限于篇幅,本文不给出MD5算法的加密原理,读者可查阅MD5算法的详细资料,如范本文件<a href="http://www.ietf.org/rfc/rfc1321.txt">http://www.ietf.org/rfc/rfc1321.txt</a>,在实现时可参考PFC中pfc_n_cst_numerical对象提供的位运算函数及其它语言(如C/C++/Delphi/ASP/MSSQLSERVER2000)实现MD5加密的源代码。</div>
<div style="TEXT-INDENT: 21pt" align="left"></div>
<div style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt" align="left">一,nvo_numerical对象,提供位运算功能。</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">forward</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">global type nvo_numerical from nonvisualobject</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end type</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end forward</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">global type nvo_numerical from nonvisualobject autoinstantiate</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end type</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">forward prototypes</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_binary (unsignedlong aul_decimal)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_binary (long al_decimal)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function unsignedlong of_binarytodecimalunsigned (string as_binary)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function long of_decimal (string as_binary)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_bitwisenot (string as_bitvalue)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_bitwisefill (string as_bitvalue)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function long of_bitwiseand (long al_value1, long al_value2)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function long of_bitwiseor (long al_value1, long al_value2)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function long of_bitwisexor (long al_value1, long al_value2)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end prototypes</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_binary (unsignedlong aul_decimal);</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">/*******************************************************************</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">函数名称:of_binary()</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">参数:&nbsp;&nbsp;&nbsp;&nbsp; aul_decimal unsignedlong 数字</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">返回值:&nbsp;string 二进制字符</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">功能描述:将数字转为二进制字符</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建人:&nbsp; 康剑民</div>

⌨️ 快捷键说明

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