CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

想要把一个字段加密保存到数据库中,ASP有没有什么好的ASP加密解密的代码

楼主shjqk(QQ)2005-02-04 11:45:29 在 Web 开发 / ASP 提问

想将一个字段加密保存如ACCESS,是别人即使得到数据库也不知道字段的内容  
  看了一些代码,由于需要解密所以MD5之类不可逆的就不能用了  
  还有一些BASE64,RSA之类的,好象是对原始数据进行编码  
  我如果加密   111和112,前面部分“11”的密文是一样的,由于我要加密的是一些数字  
  所以担心这样比较容易被猜出  
  有没有什么加密函数能是111,112加密后产生完全不同的结果  
  请教,谢谢! 问题点数:0、回复次数:23Top

1 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-02-04 11:47:28 得分 0

用MD5加密的,我发给你!Top

2 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-02-04 11:48:40 得分 0

以下为md5.asp  
  ==================================  
  <%  
  Private   Const   BITS_TO_A_BYTE   =   8  
  Private   Const   BYTES_TO_A_WORD   =   4  
  Private   Const   BITS_TO_A_WORD   =   32  
   
  Private   m_lOnBits(30)  
  Private   m_l2Power(30)  
     
  Private   Function   LShift(lValue,   iShiftBits)  
          If   iShiftBits   =   0   Then  
                  LShift   =   lValue  
                  Exit   Function  
          ElseIf   iShiftBits   =   31   Then  
                  If   lValue   And   1   Then  
                          LShift   =   &H80000000  
                  Else  
                          LShift   =   0  
                  End   If  
                  Exit   Function  
          ElseIf   iShiftBits   <   0   Or   iShiftBits   >   31   Then  
                  Err.Raise   6  
          End   If  
   
          If   (lValue   And   m_l2Power(31   -   iShiftBits))   Then  
                  LShift   =   ((lValue   And   m_lOnBits(31   -   (iShiftBits   +   1)))   *   m_l2Power(iShiftBits))   Or   &H80000000  
          Else  
                  LShift   =   ((lValue   And   m_lOnBits(31   -   iShiftBits))   *   m_l2Power(iShiftBits))  
          End   If  
  End   Function  
   
  Private   Function   RShift(lValue,   iShiftBits)  
          If   iShiftBits   =   0   Then  
                  RShift   =   lValue  
                  Exit   Function  
          ElseIf   iShiftBits   =   31   Then  
                  If   lValue   And   &H80000000   Then  
                          RShift   =   1  
                  Else  
                          RShift   =   0  
                  End   If  
                  Exit   Function  
          ElseIf   iShiftBits   <   0   Or   iShiftBits   >   31   Then  
                  Err.Raise   6  
          End   If  
           
          RShift   =   (lValue   And   &H7FFFFFFE)   \   m_l2Power(iShiftBits)  
   
          If   (lValue   And   &H80000000)   Then  
                  RShift   =   (RShift   Or   (&H40000000   \   m_l2Power(iShiftBits   -   1)))  
          End   If  
  End   Function  
   
  Private   Function   RotateLeft(lValue,   iShiftBits)  
          RotateLeft   =   LShift(lValue,   iShiftBits)   Or   RShift(lValue,   (32   -   iShiftBits))  
  End   Function  
   
  Private   Function   AddUnsigned(lX,   lY)  
          Dim   lX4  
          Dim   lY4  
          Dim   lX8  
          Dim   lY8  
          Dim   lResult  
     
          lX8   =   lX   And   &H80000000  
          lY8   =   lY   And   &H80000000  
          lX4   =   lX   And   &H40000000  
          lY4   =   lY   And   &H40000000  
     
          lResult   =   (lX   And   &H3FFFFFFF)   +   (lY   And   &H3FFFFFFF)  
     
          If   lX4   And   lY4   Then  
                  lResult   =   lResult   Xor   &H80000000   Xor   lX8   Xor   lY8  
          ElseIf   lX4   Or   lY4   Then  
                  If   lResult   And   &H40000000   Then  
                          lResult   =   lResult   Xor   &HC0000000   Xor   lX8   Xor   lY8  
                  Else  
                          lResult   =   lResult   Xor   &H40000000   Xor   lX8   Xor   lY8  
                  End   If  
          Else  
                  lResult   =   lResult   Xor   lX8   Xor   lY8  
          End   If  
     
          AddUnsigned   =   lResult  
  End   Function  
   
  Private   Function   md5_F(x,   y,   z)  
          md5_F   =   (x   And   y)   Or   ((Not   x)   And   z)  
  End   Function  
   
  Private   Function   md5_G(x,   y,   z)  
          md5_G   =   (x   And   z)   Or   (y   And   (Not   z))  
  End   Function  
   
  Private   Function   md5_H(x,   y,   z)  
          md5_H   =   (x   Xor   y   Xor   z)  
  End   Function  
   
  Private   Function   md5_I(x,   y,   z)  
          md5_I   =   (y   Xor   (x   Or   (Not   z)))  
  End   Function  
   
  Private   Sub   md5_FF(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_F(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Sub   md5_GG(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_G(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Sub   md5_HH(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_H(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Sub   md5_II(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_I(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Function   ConvertToWordArray(sMessage)  
          Dim   lMessageLength  
          Dim   lNumberOfWords  
          Dim   lWordArray()  
          Dim   lBytePosition  
          Dim   lByteCount  
          Dim   lWordCount  
           
          Const   MODULUS_BITS   =   512  
          Const   CONGRUENT_BITS   =   448  
           
          lMessageLength   =   Len(sMessage)  
           
          lNumberOfWords   =   (((lMessageLength   +   ((MODULUS_BITS   -   CONGRUENT_BITS)   \   BITS_TO_A_BYTE))   \   (MODULUS_BITS   \   BITS_TO_A_BYTE))   +   1)   *   (MODULUS_BITS   \   BITS_TO_A_WORD)  
          ReDim   lWordArray(lNumberOfWords   -   1)  
           
          lBytePosition   =   0  
          lByteCount   =   0  
          Do   Until   lByteCount   >=   lMessageLength  
                  lWordCount   =   lByteCount   \   BYTES_TO_A_WORD  
                  lBytePosition   =   (lByteCount   Mod   BYTES_TO_A_WORD)   *   BITS_TO_A_BYTE  
                  lWordArray(lWordCount)   =   lWordArray(lWordCount)   Or   LShift(Asc(Mid(sMessage,   lByteCount   +   1,   1)),   lBytePosition)  
                  lByteCount   =   lByteCount   +   1  
          Loop  
   
          lWordCount   =   lByteCount   \   BYTES_TO_A_WORD  
          lBytePosition   =   (lByteCount   Mod   BYTES_TO_A_WORD)   *   BITS_TO_A_BYTE  
   
          lWordArray(lWordCount)   =   lWordArray(lWordCount)   Or   LShift(&H80,   lBytePosition)  
   
          lWordArray(lNumberOfWords   -   2)   =   LShift(lMessageLength,   3)  
          lWordArray(lNumberOfWords   -   1)   =   RShift(lMessageLength,   29)  
           
          ConvertToWordArray   =   lWordArray  
  End   Function  
   
  Private   Function   WordToHex(lValue)  
          Dim   lByte  
          Dim   lCount  
           
          For   lCount   =   0   To   3  
                  lByte   =   RShift(lValue,   lCount   *   BITS_TO_A_BYTE)   And   m_lOnBits(BITS_TO_A_BYTE   -   1)  
                  WordToHex   =   WordToHex   &   Right("0"   &   Hex(lByte),   2)  
          Next  
  End   Function  
   
  Top

3 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-02-04 11:49:02 得分 0

''''接上面的哦  
  Public   Function   MD5(sMessage)  
          m_lOnBits(0)   =   CLng(1)  
          m_lOnBits(1)   =   CLng(3)  
          m_lOnBits(2)   =   CLng(7)  
          m_lOnBits(3)   =   CLng(15)  
          m_lOnBits(4)   =   CLng(31)  
          m_lOnBits(5)   =   CLng(63)  
          m_lOnBits(6)   =   CLng(127)  
          m_lOnBits(7)   =   CLng(255)  
          m_lOnBits(8)   =   CLng(511)  
          m_lOnBits(9)   =   CLng(1023)  
          m_lOnBits(10)   =   CLng(2047)  
          m_lOnBits(11)   =   CLng(4095)  
          m_lOnBits(12)   =   CLng(8191)  
          m_lOnBits(13)   =   CLng(16383)  
          m_lOnBits(14)   =   CLng(32767)  
          m_lOnBits(15)   =   CLng(65535)  
          m_lOnBits(16)   =   CLng(131071)  
          m_lOnBits(17)   =   CLng(262143)  
          m_lOnBits(18)   =   CLng(524287)  
          m_lOnBits(19)   =   CLng(1048575)  
          m_lOnBits(20)   =   CLng(2097151)  
          m_lOnBits(21)   =   CLng(4194303)  
          m_lOnBits(22)   =   CLng(8388607)  
          m_lOnBits(23)   =   CLng(16777215)  
          m_lOnBits(24)   =   CLng(33554431)  
          m_lOnBits(25)   =   CLng(67108863)  
          m_lOnBits(26)   =   CLng(134217727)  
          m_lOnBits(27)   =   CLng(268435455)  
          m_lOnBits(28)   =   CLng(536870911)  
          m_lOnBits(29)   =   CLng(1073741823)  
          m_lOnBits(30)   =   CLng(2147483647)  
           
          m_l2Power(0)   =   CLng(1)  
          m_l2Power(1)   =   CLng(2)  
          m_l2Power(2)   =   CLng(4)  
          m_l2Power(3)   =   CLng(8)  
          m_l2Power(4)   =   CLng(16)  
          m_l2Power(5)   =   CLng(32)  
          m_l2Power(6)   =   CLng(64)  
          m_l2Power(7)   =   CLng(128)  
          m_l2Power(8)   =   CLng(256)  
          m_l2Power(9)   =   CLng(512)  
          m_l2Power(10)   =   CLng(1024)  
          m_l2Power(11)   =   CLng(2048)  
          m_l2Power(12)   =   CLng(4096)  
          m_l2Power(13)   =   CLng(8192)  
          m_l2Power(14)   =   CLng(16384)  
          m_l2Power(15)   =   CLng(32768)  
          m_l2Power(16)   =   CLng(65536)  
          m_l2Power(17)   =   CLng(131072)  
          m_l2Power(18)   =   CLng(262144)  
          m_l2Power(19)   =   CLng(524288)  
          m_l2Power(20)   =   CLng(1048576)  
          m_l2Power(21)   =   CLng(2097152)  
          m_l2Power(22)   =   CLng(4194304)  
          m_l2Power(23)   =   CLng(8388608)  
          m_l2Power(24)   =   CLng(16777216)  
          m_l2Power(25)   =   CLng(33554432)  
          m_l2Power(26)   =   CLng(67108864)  
          m_l2Power(27)   =   CLng(134217728)  
          m_l2Power(28)   =   CLng(268435456)  
          m_l2Power(29)   =   CLng(536870912)  
          m_l2Power(30)   =   CLng(1073741824)  
   
   
          Dim   x  
          Dim   k  
          Dim   AA  
          Dim   BB  
          Dim   CC  
          Dim   DD  
          Dim   a  
          Dim   b  
          Dim   c  
          Dim   d  
           
          Const   S11   =   7  
          Const   S12   =   12  
          Const   S13   =   17  
          Const   S14   =   22  
          Const   S21   =   5  
          Const   S22   =   9  
          Const   S23   =   14  
          Const   S24   =   20  
          Const   S31   =   4  
          Const   S32   =   11  
          Const   S33   =   16  
          Const   S34   =   23  
          Const   S41   =   6  
          Const   S42   =   10  
          Const   S43   =   15  
          Const   S44   =   21  
   
          x   =   ConvertToWordArray(sMessage)  
           
          a   =   &H67452301  
          b   =   &HEFCDAB89  
          c   =   &H98BADCFE  
          d   =   &H10325476  
   
          For   k   =   0   To   UBound(x)   Step   16  
                  AA   =   a  
                  BB   =   b  
                  CC   =   c  
                  DD   =   d  
           
                  md5_FF   a,   b,   c,   d,   x(k   +   0),   S11,   &HD76AA478  
                  md5_FF   d,   a,   b,   c,   x(k   +   1),   S12,   &HE8C7B756  
                  md5_FF   c,   d,   a,   b,   x(k   +   2),   S13,   &H242070DB  
                  md5_FF   b,   c,   d,   a,   x(k   +   3),   S14,   &HC1BDCEEE  
                  md5_FF   a,   b,   c,   d,   x(k   +   4),   S11,   &HF57C0FAF  
                  md5_FF   d,   a,   b,   c,   x(k   +   5),   S12,   &H4787C62A  
                  md5_FF   c,   d,   a,   b,   x(k   +   6),   S13,   &HA8304613  
                  md5_FF   b,   c,   d,   a,   x(k   +   7),   S14,   &HFD469501  
                  md5_FF   a,   b,   c,   d,   x(k   +   8),   S11,   &H698098D8  
                  md5_FF   d,   a,   b,   c,   x(k   +   9),   S12,   &H8B44F7AF  
                  md5_FF   c,   d,   a,   b,   x(k   +   10),   S13,   &HFFFF5BB1  
                  md5_FF   b,   c,   d,   a,   x(k   +   11),   S14,   &H895CD7BE  
                  md5_FF   a,   b,   c,   d,   x(k   +   12),   S11,   &H6B901122  
                  md5_FF   d,   a,   b,   c,   x(k   +   13),   S12,   &HFD987193  
                  md5_FF   c,   d,   a,   b,   x(k   +   14),   S13,   &HA679438E  
                  md5_FF   b,   c,   d,   a,   x(k   +   15),   S14,   &H49B40821  
           
                  md5_GG   a,   b,   c,   d,   x(k   +   1),   S21,   &HF61E2562  
                  md5_GG   d,   a,   b,   c,   x(k   +   6),   S22,   &HC040B340  
                  md5_GG   c,   d,   a,   b,   x(k   +   11),   S23,   &H265E5A51  
                  md5_GG   b,   c,   d,   a,   x(k   +   0),   S24,   &HE9B6C7AA  
                  md5_GG   a,   b,   c,   d,   x(k   +   5),   S21,   &HD62F105D  
                  md5_GG   d,   a,   b,   c,   x(k   +   10),   S22,   &H2441453  
                  md5_GG   c,   d,   a,   b,   x(k   +   15),   S23,   &HD8A1E681  
                  md5_GG   b,   c,   d,   a,   x(k   +   4),   S24,   &HE7D3FBC8  
                  md5_GG   a,   b,   c,   d,   x(k   +   9),   S21,   &H21E1CDE6  
                  md5_GG   d,   a,   b,   c,   x(k   +   14),   S22,   &HC33707D6  
                  md5_GG   c,   d,   a,   b,   x(k   +   3),   S23,   &HF4D50D87  
                  md5_GG   b,   c,   d,   a,   x(k   +   8),   S24,   &H455A14ED  
                  md5_GG   a,   b,   c,   d,   x(k   +   13),   S21,   &HA9E3E905  
                  md5_GG   d,   a,   b,   c,   x(k   +   2),   S22,   &HFCEFA3F8  
                  md5_GG   c,   d,   a,   b,   x(k   +   7),   S23,   &H676F02D9  
                  md5_GG   b,   c,   d,   a,   x(k   +   12),   S24,   &H8D2A4C8A  
                           
                  md5_HH   a,   b,   c,   d,   x(k   +   5),   S31,   &HFFFA3942  
                  md5_HH   d,   a,   b,   c,   x(k   +   8),   S32,   &H8771F681  
                  md5_HH   c,   d,   a,   b,   x(k   +   11),   S33,   &H6D9D6122  
                  md5_HH   b,   c,   d,   a,   x(k   +   14),   S34,   &HFDE5380C  
                  md5_HH   a,   b,   c,   d,   x(k   +   1),   S31,   &HA4BEEA44  
                  md5_HH   d,   a,   b,   c,   x(k   +   4),   S32,   &H4BDECFA9  
                  md5_HH   c,   d,   a,   b,   x(k   +   7),   S33,   &HF6BB4B60  
                  md5_HH   b,   c,   d,   a,   x(k   +   10),   S34,   &HBEBFBC70  
                  md5_HH   a,   b,   c,   d,   x(k   +   13),   S31,   &H289B7EC6  
                  md5_HH   d,   a,   b,   c,   x(k   +   0),   S32,   &HEAA127FA  
                  md5_HH   c,   d,   a,   b,   x(k   +   3),   S33,   &HD4EF3085  
                  md5_HH   b,   c,   d,   a,   x(k   +   6),   S34,   &H4881D05  
                  md5_HH   a,   b,   c,   d,   x(k   +   9),   S31,   &HD9D4D039  
                  md5_HH   d,   a,   b,   c,   x(k   +   12),   S32,   &HE6DB99E5  
                  md5_HH   c,   d,   a,   b,   x(k   +   15),   S33,   &H1FA27CF8  
                  md5_HH   b,   c,   d,   a,   x(k   +   2),   S34,   &HC4AC5665  
           
                  md5_II   a,   b,   c,   d,   x(k   +   0),   S41,   &HF4292244  
                  md5_II   d,   a,   b,   c,   x(k   +   7),   S42,   &H432AFF97  
                  md5_II   c,   d,   a,   b,   x(k   +   14),   S43,   &HAB9423A7  
                  md5_II   b,   c,   d,   a,   x(k   +   5),   S44,   &HFC93A039  
                  md5_II   a,   b,   c,   d,   x(k   +   12),   S41,   &H655B59C3  
                  md5_II   d,   a,   b,   c,   x(k   +   3),   S42,   &H8F0CCC92  
                  md5_II   c,   d,   a,   b,   x(k   +   10),   S43,   &HFFEFF47D  
                  md5_II   b,   c,   d,   a,   x(k   +   1),   S44,   &H85845DD1  
                  md5_II   a,   b,   c,   d,   x(k   +   8),   S41,   &H6FA87E4F  
                  md5_II   d,   a,   b,   c,   x(k   +   15),   S42,   &HFE2CE6E0  
                  md5_II   c,   d,   a,   b,   x(k   +   6),   S43,   &HA3014314  
                  md5_II   b,   c,   d,   a,   x(k   +   13),   S44,   &H4E0811A1  
                  md5_II   a,   b,   c,   d,   x(k   +   4),   S41,   &HF7537E82  
                  md5_II   d,   a,   b,   c,   x(k   +   11),   S42,   &HBD3AF235  
                  md5_II   c,   d,   a,   b,   x(k   +   2),   S43,   &H2AD7D2BB  
                  md5_II   b,   c,   d,   a,   x(k   +   9),   S44,   &HEB86D391  
           
                  a   =   AddUnsigned(a,   AA)  
                  b   =   AddUnsigned(b,   BB)  
                  c   =   AddUnsigned(c,   CC)  
                  d   =   AddUnsigned(d,   DD)  
          Next  
          '注意:下面这两句的意思是,上面的那句是32位加密,下面的是16位加密,看你用那种',用32位,就把上面的注释符去掉,把下面一行加上就行了,就这么简单啊,哈哈,费了我'不少时间啊,靠!  
          'MD5   =   LCase(WordToHex(a)   &   WordToHex(b)   &   WordToHex(c)   &   WordToHex(d))  
          MD5=LCase(WordToHex(b)   &   WordToHex(c))     'I   crop   this   to   fit   16byte   database   password   :D  
  End   Function  
  %>  
  Top

4 楼mikespook(CSDN == 吹死大牛)回复于 2005-02-04 11:51:12 得分 0

自己写一个算法,只要你保证你的算法是保密的就可以~~  
  比如MD5原始串,然后让MD5后的这个串作为密钥,对原串进行循环异或~~~  
  当然解密的话就需要你这个MD5串作为密钥解密了~~~  
   
  呵呵,构造算法的方法很多~~~对称非对称的~~~简单要求,只要保密加密算法就可以保证数据库里的加密串安全~~~  
   
  实在不行,RES三层,还是能保证的~~~Top

5 楼thatday2008(那一天)回复于 2005-02-04 11:53:24 得分 0

楼上几位帖了一大堆!  
  连楼主的题目都没看明白!  
   
  楼主知道MD5,只是问大家有没有可以可逆的其它加密码算法!Top

6 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-02-04 11:55:12 得分 0

然后把上面的两个保存到一个md5.asp文件后  
   
  然后在要用MD5加密的字段的页面  
   
  <!--#include   file="md5.asp"   -->  
  md5pass=md5("你的字段")  
   
  然后现在这个md5pass就是你加密过的MD5密码了,要比较的时候,就把两个MD5密码拿来比较就可以了Top

7 楼flyskywlh(成功时享受成就,失意时享受生活..)回复于 2005-02-04 11:55:54 得分 0

到目前为止只用过MD5的,其它的还没用过呢..Top

8 楼shjqk(QQ)回复于 2005-02-04 12:02:37 得分 0

MD5一般用来认证的吧,可是我要还原的啊,MD5加密后我怎么知道里面的内容是什么啊,Top

9 楼shjqk(QQ)回复于 2005-02-04 13:38:40 得分 0

upTop

10 楼liangzhifa(fa)回复于 2005-02-04 13:50:48 得分 0

搞什么啊楼上几位,md5加密之后就还原不了了啊。我看楼主不如把rsa、base64这些加密算法自己组合嵌套一下或者自己再弄个排列什么的,不被猜出来就行了。Top

11 楼baikaishui_0825(baikaishui)回复于 2005-02-04 14:05:58 得分 0

http://blog.csdn.net/baikaishui_0825/archive/2005/01/04/239229.aspxTop

12 楼shjqk(QQ)回复于 2005-02-04 14:52:12 得分 0

谢谢   baikaishui_0825(baikaishui)    
  不过如果我是虚拟主机,这种方法也能实现吗Top

13 楼ruyunluck()回复于 2005-02-04 15:19:39 得分 0

md5Top

14 楼shjqk(QQ)回复于 2005-02-04 15:44:55 得分 0

baikaishui_0825(baikaishui):  
  我用你的那个方法加密,如果我要加密的字符太短如“11”  
  回报错  
  Microsoft   VBScript   运行时错误   错误   '800a0005'    
   
  无效的过程调用或参数:   'Asc'    
   
  /tob/bak/Crypt.asp,行17    
   
  你有没有遇到过啊Top

15 楼fadeaway_z(michael_z)回复于 2005-02-04 15:48:33 得分 0

自己写个函数,类似于Md5的,简单些就行,对数据进行加密,密钥自己知道,可以写另外一个函数来解密,这和主机的方式没有关系的。Top

16 楼baikaishui_0825(baikaishui)回复于 2005-02-04 16:11:02 得分 0

to   shjqk(QQ)   (   )    
   
  ORIGINAL   STRING:   11  
   
   
  KEY   VALUE:   KN  
   
   
  ENCRYPTED   CYPHERTEXT:   z  
   
   
  DECRYPTED   CYPHERTEXT:   11  
   
  可以的啊Top

17 楼shjqk(QQ)回复于 2005-02-05 12:52:56 得分 0

使用   baikaishui_0825(baikaishui)   的方法  
  我用下面的密钥(key.txt中的内容)  
  ;2_<#>E=Y8NSWK7<HLLC(Z1:.^0.OP%BHQ.N8U5MP\?_Q:U_V/;;6P-,'H;4ES.1_#8;M?@Y`G/@#7Z`\;;N@`)-DP://M`.ZU)E[K1F$+G6BRP#5$7@A^0\#+U_DPJ[T^*/]MP4373C-`@E8XVQ3YK^YE;IA/3[(0%8NV+D*][*Y34,@OGDO'EUEUQ-^9%P,9D&&:GX_S+,FZ68(91ZOT)#>MDLWC*[<.37]H3U2IKJ+,OKGE>W07>(^\=,']K_4?X/3S6Z91'HA5LH;*X<(_PFA8&JCZS?+_#O[0YKM;')CK5P[T+J2#*`@O(,*NNY<C7[U,*IKZ5,,?RGD:\DHNRY4U.PQGCSAWBTW[06LC=S4$2MNK[-&7VR8<`<8Y>NUR/<^Q54+&($UHYDR<ODC/@.'6-1TWG,Q&&T#^C&?3^[LBVO.<$M[FWMW4;/$R+LP@O_]U',$]M@P#3O7?@K)O(R')59[[1T,VX_JG')4X\Q\:6)I6O>%];_.FDR:F$'  
   
  加密字段:56789.12  
  加密后密文显示:mw     我用len函数返回实际长度是8  
  但是我碰到的问题是    
  dim   s  
  s   =   EnCrypt("56789.12")   &   "bbb"  
  s显示还是mw  
  发现好象不能在密文后拼接字符。  
  不知道你有没有遇到这种情况?请教!谢谢!Top

18 楼bonefish(骨头鱼)回复于 2005-02-05 13:02:45 得分 0

兄弟用MD5好了,给你看段从网络上摘下来的内容:  
   
    MD5的全称是Message-Digest   Algorithm   5(信息-摘要算法),在90年代初由MIT   Laboratory   for   Computer   Science和RSA   Data   Security   Inc的Ronald   L.   Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。这三个算法的描述和C语言源代码在Internet   RFCs   1321中有详细的描述http://www.ietf.org/rfc/rfc1321.txt),这是一份最权威的文档,由Ronald   L.   Rivest在1992年8月向IEFT提交。  
   
    Rivest在1989年开发出MD2算法。在这个算法中,首先对信息进行数据补位,使信息的字节长度是16的倍数。然后,以一个16位的检验和追加到信息末尾。并且根据这个新产生的信息计算出散列值。后来,Rogier和Chauvaud发现如果忽略了检验和将产生MD2冲突。MD2算法的加密后结果是唯一的--既没有重复。  
   
    为了加强算法的安全性,Rivest在1990年又开发出MD4算法。MD4算法同样需要填补信息以确保信息的字节长度加上448后能被512整除(信息字节长度mod   512   =   448)。然后,一个以64位二进制表示的信息的最初长度被添加进来。信息被处理成512位Damg?rd/Merkle迭代结构的区块,而且每个区块要通过三个不同步骤的处理。Den   Boer和Bosselaers以及其他人很快的发现了攻击MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的个人电脑在几分钟内找到MD4完整版本中的冲突(这个冲突实际上是一种漏洞,它将导致对不同的内容进行加密却可能得到相同的加密后结果)。毫无疑问,MD4就此被淘汰掉了。  
   
    尽管MD4算法在安全上有个这么大的漏洞,但它对在其后才被开发出来的好几种信息安全加密算法的出现却有着不可忽视的引导作用。除了MD5以外,其中比较有名的还有SHA-1、RIPE-MD以及HAVAL等。  
   
    一年以后,即1991年,Rivest开发出技术上更为趋近成熟的MD5算法。它在MD4的基础上增加了"安全-带子"(Safety-Belts)的概念。虽然MD5比MD4稍微慢一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den   Boer和Bosselaers曾发现MD5算法中的假冲突(Pseudo-Collisions),但除此之外就没有其他被发现的加密后结果了。  
   
    Van   Oorschot和Wiener曾经考虑过一个在散列中暴力搜寻冲突的函数(Brute-Force   Hash   Function),而且他们猜测一个被设计专门用来搜索MD5冲突的机器(这台机器在1994年的制造成本大约是一百万美元)可以平均每24天就找到一个冲突。但单从1991年到2001年这10年间,竟没有出现替代MD5算法的MD6或被叫做其他什么名字的新算法这一点,我们就可以看出这个瑕疵并没有太多的影响MD5的安全性。上面所有这些都不足以成为MD5的在实际应用中的问题。并且,由于MD5算法的使用不需要支付任何版权费用的,所以在一般的情况下(非绝密应用领域。但即便是应用在绝密领域内,MD5也不失为一种非常优秀的中间技术),MD5怎么都应该算得上是非常安全的了。  
  Top

19 楼shjqk(QQ)回复于 2005-02-05 13:05:01 得分 0

我要还原的怎么用MD5啊Top

20 楼yjbnew(伟大的光荣的正确的ASP千岁千岁千千岁)回复于 2005-02-05 13:38:58 得分 0

当然无法还原了,Top

21 楼shjqk(QQ)回复于 2005-02-05 13:48:33 得分 0

我需要的是可以还原的加密算法Top

22 楼bonefish(骨头鱼)回复于 2005-02-05 17:04:24 得分 0

要可以还原是以牺牲安全来换取D!Top

23 楼amin123(amin)回复于 2005-02-05 19:37:50 得分 0

最简单的加密方法,将数字转换成ASCII代码保存就可以了Top

相关问题

  • 数据库字段的加密解密?
  • 加密解密
  • 关于ASP原码的加密、解密的问题
  • 多谢mkiss提供asp加密解密软件!给分!
  • 如何对asp文件代码加密,解密??
  • 数据加密解密
  • 关于crypt加密解密
  • 加密、解密的问题
  • 加密,解密怎么说?
  • 中文加密解密

关键词

  • 算法
  • 加密
  • 字段
  • 函数
  • 代码
  • 数据库
  • 加密算法
  • 安全
  • 信息
  • 摘要

得分解答快速导航

  • 帖主:shjqk

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo