加密处理使密码更安全[CFS编码加密]
作者:ASP-Zone 发布时间:2008-03-19 13:30:00
标签:加密,密码,cfs,asp
你是怎么把密码储存到数据库里?是以纯文字的方式?你可知道这对安全的危险性?当攻击你网站的人能开启数据库浏览,以纯文字方式存在数据库里的密码一览无疑,基于安全上的考量,你想这样适当吗?有什么办法能够让别人看到数据库里的数据,也没办法知道储存在其中的密码?
以上问题你是否知道如何解决?本文要告诉你,如何将你的密码做加密处理,处理过后的密码字符串,就算是公开出来也没人猜得到原来的密码!首先我们来看看一组字符串:
27B827277C70E88DD87E3057BFBE8F
这是将密码加密后的结果,你知道加密之前的字符串是什么吗?其实是『 test 』。不可思议吧!经过处理后的字符串,和原本的字符串全然不同,我不说你猜的到吗?如果决定密码的人不说,这密码永远都是个秘密!
毕竟这是以原本字符串为起点开始编码,你可能会怕有人用反向工程将字符串变回原本的密码,这点你就不用担心了,这编码方式是『单向』的,无法用反向工程恢复!只要将密码加密后再存入数据库,你的密码就多了一份保障!比对密码时,就将使用者输入的密码加密后再跟数据库比对。讲了许多,现在开始告诉你如何写这段程序。
<!--#include file="Codefun.fun" -->
这是用来将函式包含档加入到你的ASP,请于ASP开头加上,接着就可使用其编码函式。
编码函式 CfsEncode() 的使用:
Var = CfsEncode(字符串来源)
范例:
<%Dim SourceDim Var1Source = "test"Var1 = CfsEncode(Source)Response.Write Var1%>
执行结果:27B827277C70E88DD87E3057BFBE8F
<%
'********************************************************************************
'* *
'* CFS Encode Function *
'* *
'* Produced by ASP-Zone *
'* *
'* Main website is located at *
'* http://asp.diy.com.tw/ *
'* *
'* E-MAIL: *
'* thiefghost@games.com.tw *
'* *
'* Use this function: *
'* <!--#include file="Codefun.fun" --> *
'* *
'* 2001/8/3 *
'* *
'********************************************************************************
'Encode Function
Function CfsEnCode(CodeStr)
Dim CodeLen
Dim CodeSpace
Dim NewCode
CodeLen = 30
CodeSpace = CodeLen - Len(CodeStr)
If Not CodeSpace < 1 Then
For cecr = 1 To CodeSpace
CodeStr = CodeStr & Chr(21)
Next
End If
NewCode = 1
Dim Been
For cecb = 1 To CodeLen
Been = CodeLen + Asc(Mid(CodeStr,cecb,1)) * cecb
NewCode = NewCode * Been
Next
CodeStr = NewCode
NewCode = Empty
For cec = 1 To Len(CodeStr)
NewCode = NewCode & CfsCode(Mid(CodeStr,cec,3))
Next
For cec = 20 To Len(NewCode) - 18 Step 2
CfsEnCode = CfsEnCode & Mid(NewCode,cec,1)
Next
End Function
Function CfsCode(Word)
For cc = 1 To Len(Word)
CfsCode = CfsCode & Asc(Mid(Word,cc,1))
Next
CfsCode = Hex(CfsCode)
End Function
%>


猜你喜欢
- Numpy 是Python科学计算的一个核心模块。它提供了非常高效的数组对象,以及用于处理这些数组对象的工具。一个Numpy数组由许多值组成
- 网上找了很多资料,都不理想。其实ubuntu20以后的版本,很多功能都预装好了,安装django也没有以前的版本那么复杂。很简单,只需要几步
- 需求桌面临时文件较多时,直接删了不太放心,不删又显得很杂乱,故需要写一个脚本批量清理并备份这些鸡肋的文件。所以脚本需要具有以下功能1. 可以
- 本文实例讲述了Python迭代器与生成器用法。分享给大家供大家参考,具体如下:迭代器,迭代的工具什么是迭代器?指的是一个重复的过程,每一次重
- 前言在8之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8开始,可通过S
- 一、Go语言中Goroutine的基本原理Go语言里的并发指的是能让某个函数独立于其他函数运行的能力。Go语言的goroutine是一个独立
- 阅读上一篇:什么是名字空间<meta http-equiv="Content-Type" co
- 个人觉得还是不要使用中文作为文件名的好,虽然我们用的语言是中文,毕竟中文容易出现问题,兼容性不好。用Dreamweaver制作网页时,如果插
- 这篇文章主要介绍了django自定义模板标签过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 系统用户administrator 密码改变后,注销重新登录,发现SQL Server没有随机启动。手动从服务管理器中启动,提示“由于登录失
- 概述为什么使用集合运算:在集合运算中比联接查询和EXISTS/NOT EXISTS更方便。并集运算(UNION)并集:两个集合的并集是一个包
- ESLint简介关于ESLint的介绍网上很多,这里就简单说些有用的。 ESLint的作用是检查代码错误和统一代码风格的。由于每个人写代码的
- 创建RandomWalk类为模拟随机漫步,我们将创建一个RandomWalk类,随机选择前进方向,这个类有三个属性,一个存储随机漫步的次数,
- // 添加function col_add() { var selObj = $("#mySelect");&
- Docker用于开发Docker不仅用于部署,它还可以用于开发。1、为什么要在开发中使用Docker主要有以下几个原因。 1)一致的开发环境
- <?php/** * 网站地图更新控制器 * * &nbs
- 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过
- 本文实例讲述了php多个文件及图片上传的方法。分享给大家供大家参考。具体实现方法如下:多个文件上传是在单文件上传的基础上利用遍历数组的方式进
- 前言我们在处理数据库的问题的时候,有时在数据库端看不到异常的等待,但是应用却报连接异常。这种情况,有可能是在压力还没有传递到数据库,在网络这
- 本文实例讲述了JS实现控制表格内指定单元格内容对齐的方法。分享给大家供大家参考。具体如下:下面的代码控制表格单元格的内容向右对齐<!D