CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

求:简单的密码加密和取回加密密码代码

楼主jfu(谁动了我的奶酪)2002-05-23 10:57:07 在 Web 开发 / ASP 提问

谢谢! 问题点数:30、回复次数:14Top

1 楼jxwangzhigang(一棵草)回复于 2002-05-23 11:05:45 得分 5

<%  
  Function   Encrypt(theNumber)  
  On   Error   Resume   Next  
  Dim   n,   szEnc,   t,   HiN,   LoN,   i  
  n   =   CDbl((theNumber   +   1570)   ^   2   -   7   *   (theNumber   +   1570)   -   450)  
  If   n   <   0   Then   szEnc   =   "R"   Else   szEnc   =   "J"  
  n   =   CStr(abs(n))  
  For   i   =   1   To   Len(n)   step   2  
  t   =   Mid(n,   i,   2)  
  If   Len(t)   =   1   Then  
  szEnc   =   szEnc   &   t  
  Exit   For  
  End   If  
  HiN   =   (CInt(t)   And   240)   /   16  
  LoN   =   CInt(t)   And   15  
  szEnc   =   szEnc   &   Chr(Asc("M")   +   HiN)   &   Chr(Asc("C")   +   LoN)  
  Next  
  Encrypt   =   szEnc  
  End   Function    
   
  Function   Decrypt(theNumber)  
  On   Error   Resume   Next  
  Dim   e,   n,   sign,   t,   HiN,   LoN,   NewN,   i  
  e   =   theNumber  
  If   Left(e,   1)   =   "R"   Then   sign   =   -1   Else   sign   =   1  
  e   =   Mid(e,   2)  
  NewN   =   ""  
  For   i   =   1   To   Len(e)   step   2  
  t   =   Mid(e,   i,   2)  
  If   Asc(t)   >=   Asc("0")   And   Asc(t)   <=   Asc("9")   Then  
  NewN   =   NewN   &   t  
  Exit   For  
  End   If  
  HiN   =   Mid(t,   1,   1)  
  LoN   =   Mid(t,   2,   1)  
  HiN   =   (Asc(HiN)   -   Asc("M"))   *   16  
  LoN   =   Asc(LoN)   -   Asc("C")  
  t   =   CStr(HiN   Or   LoN)  
  If   Len(t)   =   1   Then   t   =   "0"   &   t  
  NewN   =   NewN   &   t  
  Next  
  e   =   CDbl(NewN)   *   sign  
  Decrypt   =   CLng((7   +   sqr(49   -   4   *   (-450   -   e)))   /   2   -   1570)  
  End   Function  
  %>  
   
  Top

2 楼freezwy(网络自由人)回复于 2002-05-23 11:24:18 得分 0

WWW.ASPSKY.NET下载代码。Top

3 楼jfu(谁动了我的奶酪)回复于 2002-05-23 11:25:51 得分 0

能简单解释一下吗?Top

4 楼jfu(谁动了我的奶酪)回复于 2002-05-23 11:29:40 得分 0

freezwy(网络自由人)   ,下载什么?Top

5 楼jfu(谁动了我的奶酪)回复于 2002-05-23 11:56:36 得分 0

freezwy(网络自由人),哪有源代码参考?Top

6 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-23 19:13:30 得分 0

aspsky的不加密的Top

7 楼freezwy(网络自由人)回复于 2002-05-23 19:15:39 得分 20

给你简单代码:  
  <%  
  Function   Encrypt(theNumber)  
  On   Error   Resume   Next  
  Dim   n,   szEnc,   t,   HiN,   LoN,   i  
  n   =   CDbl((theNumber   +   1570)   ^   2   -   7   *   (theNumber   +   1570)   -   450)  
  If   n   <   0   Then   szEnc   =   "R"   Else   szEnc   =   "J"  
  n   =   CStr(abs(n))  
  For   i   =   1   To   Len(n)   step   2  
  t   =   Mid(n,   i,   2)  
  If   Len(t)   =   1   Then  
  szEnc   =   szEnc   &   t  
  Exit   For  
  End   If  
  HiN   =   (CInt(t)   And   240)   /   16  
  LoN   =   CInt(t)   And   15  
  szEnc   =   szEnc   &   Chr(Asc("M")   +   HiN)   &   Chr(Asc("C")   +   LoN)  
  Next  
  Encrypt   =   szEnc  
  End   Function  
   
  Function   Decrypt(theNumber)  
  On   Error   Resume   Next  
  Dim   e,   n,   sign,   t,   HiN,   LoN,   NewN,   i  
  e   =   theNumber  
  If   Left(e,   1)   =   "R"   Then   sign   =   -1   Else   sign   =   1  
  e   =   Mid(e,   2)  
  NewN   =   ""  
  For   i   =   1   To   Len(e)   step   2  
  t   =   Mid(e,   i,   2)  
  If   Asc(t)   >=   Asc("0")   And   Asc(t)   <=   Asc("9")   Then  
  NewN   =   NewN   &   t  
  Exit   For  
  End   If  
  HiN   =   Mid(t,   1,   1)  
  LoN   =   Mid(t,   2,   1)  
  HiN   =   (Asc(HiN)   -   Asc("M"))   *   16  
  LoN   =   Asc(LoN)   -   Asc("C")  
  t   =   CStr(HiN   Or   LoN)  
  If   Len(t)   =   1   Then   t   =   "0"   &   t  
  NewN   =   NewN   &   t  
  Next  
  e   =   CDbl(NewN)   *   sign  
  Decrypt   =   CLng((7   +   sqr(49   -   4   *   (-450   -   e)))   /   2   -   1570)  
  End   Function  
  %>  
  <html><body>  
  Original   number:   69   <br>  
  Encrypt(69)   returns:   JNMQMOJ8   <br>  
  Decrypt("JNMQMOJ8")   returns:   69  
  <p>  
  Another   example   using   variables   instead:   <br>  
  Encrypt(Request.Form("ID"))   <br>  
  Encrypt(myVar)   <br>  
  Decrypt(Request.QueryString("id"))   <br>  
  Decrypt("JNMQMOJ8")   <br>  
  Decrypt(myVar)  
   
  </body></html>    
  Top

8 楼freezwy(网络自由人)回复于 2002-05-23 19:17:12 得分 0

虽然ASPSKY的不加密,但是他有一个专题就是讨论这个问题的,路径如下:自己去看看。  
  http://www.aspsky.net/article/index.asp?classid=2&Nclassid=5  
  另外“动网论坛”的新版使用了MD5加密密码。Top

9 楼jfu(谁动了我的奶酪)回复于 2002-05-23 19:28:54 得分 0

freezwy(网络自由人)   谢谢你,我如果想改一改,应该怎么改?麻烦你了Top

10 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-23 19:34:05 得分 0

aspsky总是用过时的东西  
  现在因为MD5的安全问题,都改用SHA-1了,他们才开始用MD5Top

11 楼freezwy(网络自由人)回复于 2002-05-23 19:38:12 得分 0

加密的过程,比如  
  原来字符串  
  xx="freezwy"  
  你如果加密的算法是把ee换成789  
  那么xx="fr789zwy"  
  转换的反过程就要把789转换成ee.  
  当然,这是加密一个例子,同时,加密分好多种类,有些加密是对称的而有些是不对称的,比如RAS算法和MD5算法。  
  问题的关键是你要找到一个过程,让这些不容易被破解。  
  如果要修改就很麻烦的了,毕竟要研究精细这个算法的过程。Top

12 楼jfu(谁动了我的奶酪)回复于 2002-05-23 19:46:46 得分 0

freezwy(网络自由人),你说的上面的代码我看不太懂,简单一点的,我想是这样,取得密码每个字母asc代码值,每个代码值进行一个简单的数学运算,得出的数字作为密码存入数据库,能否给个大概程序?比如如何取密码每个字母asc代码值等等,谢谢!Top

13 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-23 19:53:44 得分 0

“如何取密码每个字母asc代码值”都要问?你先学学语言吧  
  www.microsoft.com/china/scripting/  
  这里有script文档Top

14 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2002-05-23 19:55:10 得分 5

把你的密码每个字母的asc码值加上2或5任意数字,就可以实现简单加密了,取回时再减去相应数字,关键函数是asc()和   chr(),很简单的,注意写入数据库时“'”符号会出错!避免用就可以了Top

15 楼jfu(谁动了我的奶酪)回复于 2002-05-23 20:03:08 得分 0

谢谢各位,我是比较菜,我正在努力变得不菜,呵呵!Top

相关问题

  • 将一段delphi加密码算法翻译为c#代码
  • 密码加密
  • 密码的加密
  • 把密码加密
  • 加密代码(高分)
  • 代码 加密问题
  • 求文件加密代码。
  • md5加密的代码
  • .net代码如何加密?
  • 取回密码的问题

关键词

  • 加密
  • 密码
  • 代码
  • 网络
  • jnmqmoj8
  • freezwy
  • decrypt
  • asc
  • 简单
  • myvar

得分解答快速导航

  • 帖主:jfu
  • jxwangzhigang
  • freezwy
  • superdullwolf

相关链接

  • Web开发类图书

广告也精彩

反馈

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