A. java 生成一个随机密码,经过二次加密后保存到数据库,然后返回给用户这个随机生成的密码
String str= "";
StringBuffer str=new StringBuffer();
Random r=new Random();
for (int i=0;i<6;i++)
str.append(str.charAt(r.nextInt(36)));
System.out.println(str.toString());
使用MD5去两次加密,保存数据里,
把str.tostring() 展示给用户
B. 如何将密码加密后存入oracle数据库
加密的字符串一般是在
程序当中生产的比如现在流行的16位
md5
加密码。一般都是在程序当中对用户输入的
真实密码。进行一个
MD5加密
,会生产一个加密码。然后按需要截取其中16位。在把这16位MD5加密码
字符串
存取在数据库当中。在用户登入的时候。用户会输入真的密码在进行加密截取。然后和数据库当中的进行比较。如果成功则true反之为fasle
C. java语言实现密码加密
一般只有加密码过程,没有解密。
用户登陆时,把他输入的密码经过加密
再拿去与数据库里面的密码比较就可以了。
修改密码也是一样的原理,输入的原密码加密后与数据库密码比较,符合的话再将新密码加密后存入数据库覆盖原密码
现在流行的MD5加密算法 网上有很多JAVA的MD5算法
D. idea的加密是什么机制
IDEA加密标准由PGP(Pretty Good Privacy)系统使用。公共密钥加密使用两个不同的密钥, 因此是一种不对称的加密系统。它的一个密钥是公开的, 而系统的基本功能也是有公共密钥的人可以访问的, 公共密钥可以保存在系统目录内或保存在未加密的电子邮件信息中。它的另一个密钥是专用的, 它用来加密信息但公共密钥可以解密该信息, 它也可以对公共密钥加密的信息解密。在提供同等安全性的前提下, 专用密钥加密的系统速度比较快。
RC5分组密码算法是1994由麻萨诸塞技术研究所的Ronald L. Rivest教授发明的,并由RSA实验室分析。它是参数可变的分组密码算法,三个可变的参数是:分组大小、密钥大小和加密轮数。在此算法中使用了三种运算:异或、加和循环。
RC5是种比较新的算法,Rivest设计了RC5的一种特殊的实现方式,因此RC5算法有一个面向字的结构:RC5-w/r/b,这里w是字长其值可以是16、32或64对于不同的字长明文和密文块的分组长度为2w位,r是加密轮数,b是密钥字节长度。由于RC5一个分组长度可变的密码算法,为了便于说明在本文中主要是针对64位的分组w=32进行处理的,下面详细说明了RC5加密解密的处理过程:
1、创建密钥组,RC5算法加密时使用了2r+2个密钥相关的的32位字:,这里r表示加密的轮数。创建这个密钥组的过程是非常复杂的但也是直接的,首先将密钥字节拷贝到32位字的数组L中(此时要注意处理器是little- endian顺序还是big-endian顺序),如果需要,最后一个字可以用零填充。然后利用线性同余发生器模2初始化数组S:
对于i=1到2(r+1)-1: (本应模 ,本文中令w=32)
其中对于16位字32位分组的RC5,P=0xb7e1 Q=0x9e37
对于32位字和64位分组的RC5,P=0xb7e15163 Q=0x9e3779b9
对于64位字和128位分组,P=0xb7151628aed2a6b Q=0x9e3779b97f4a7c15
最后将L与S混合,混合过程如下:
i=j=0
A=B=0
处理3n次(这里n是2(r+1)和c中的最大值,其中c表示输入的密钥字的个数)
2、加密处理,在创建完密钥组后开始进行对明文的加密,加密时,首先将明文分组划分为两个32位字:A和B(在假设处理器字节顺序是little- endian、w=32的情况下,第一个明文字节进入A的最低字节,第四个明文字节进入A的最高字节,第五个明文字节进入B的最低字节,以此类推),其中操作符<<<表示循环左移,加运算是模 (本应模 ,本文中令w=32)的。输出的密文是在寄存器A和B中的内容
3、解密处理,解密也是很容易的,把密文分组划分为两个字:A和B(存储方式和加密一样),这里符合>>>是循环右移,减运算也是模 (本应模 ,本文中令w=32)的。
IDEA算法被认为是当今最好最安全的分组密码算法!
E. 如何将用户名,密码加密后放到cookies中(用户名不加密).
Cookies现在经常被大家提到,那么到底什么是Cookies,它有什么作用呢?Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。
当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以"名/值"对(name-value pairs)的形式储存,一个"名/值"对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。 Cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。
由于Cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。在Windows 9X系统计算机中,Cookies文件的存放位置为C:/Windows/Cookies,在Windows NT/2000/XP的计算机中,Cookies文件的存放位置为C:/Documents and Settings/用户名/Cookies。
硬盘中的Cookies文件可以被Web浏览器读取,它的命令格式为:用户名@网站地址[数字].txt。如笔者计算机中的一个Cookies文件名为:ch@163[1].txt。要注意的是:硬盘中的Cookies属于文本文件,不是程序。
Cookies的设置
你可以在IE的"工具/Internet选项"的"常规"选项卡中,选择"设置/查看文件",查看所有保存到你电脑里的Cookies。这些文件通常是以user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。如果你使用NetsCape浏览器,则存放在"C:/PROGRAMFILES/NETS- CAPE/USERS/"里面,与IE不同的是,NETSCAPE是使用一个Cookie文件记录所有网站的Cookies。
我们可对Cookie进行适当设置:打开"工具/Internet选项"中的"隐私"选项卡(注意该设置只在IE6.0中存在,其他版本IE可以单击"工具/Internet选项" "安全"标签中的"自定义级别"按钮,进行简单调整),调整Cookie的安全级别。通常情况,可以调整到"中高"或者"高"的位置。多数的论坛站点需要使用Cookie信息,如果你从来不去这些地方,可以将安全级调到"阻止所有Cookies";如果只是为了禁止个别网站的Cookie,可以单击"编辑"按钮,将要屏蔽的网站添加到列表中。在"高级"按钮选项中,你可以对第一方Cookie和第三方的Cookie进行设置,第一方Cookie是你正在浏览的网站的Cookie,第三方Cookie是非正在浏览的网站发给你的Cookie,通常要对第三方Cookie选择"拒绝"。你如果需要保存Cookie,可以使用IE的"导入导出"功能,打开"文件/导入导出",按提示操作即可。
Cookies的写入与读取
Cookies集合是附属于Response对象及Request对象的数据集合,使用时需要在前面加上Response或Request。
用于给客户机发送Cookies的语法通常为:
当给不存在的Cookies集合设置时,就会在客户机创建,如果该Cookies己存在,则会被代替。由于Cookies是作为HTTP传输的头信息的一部分发给客户机的,所以向客户机发送Cookies的代码一般放在发送给浏览器的HTML文件的标记之前。
如果用户要读取Cookies,则必须使用Request对象的Cookies集合,其使用方法是: 需要注意的是,只有在服务器未被下载任何数据给浏览器前,浏览器才能与Server进行Cookies集合的数据交换,一旦浏览器开始接收Server所下载的数据,Cookies的数据交换则停止,为了避免错误,要在程序和前面加上response.Buffer=True。
Cookies的应用
几乎所有的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、人文化的浏览环境,同时也能更加准确地收集访问者的信息。
网站浏览人数管理
由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一的ID。使用Cookie,网站可以完成以下工作:测定多少人访问过;测定访问者中有多少是新用户(即第一次来访),多少是老用户;测定一个用户多久访问一次网站。
通常情况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数或判断用户是新用户还是老用户。
按照用户的喜好定制网页外观
有的网站设计者,为用户提供了改变网页内容、布局和颜色的权力,允许用户输入自己的信息,然后通过这些信息对网站的一些参数进行修改,以定制网页的外观。
在电子商务站点中实现诸如"购物篮"等功能
可以使用Cookie记录用户的ID,这样当你往"购物篮"中放了新东西时,网站就能记录下来,并在网站的数据库里对应着你的ID记录当你"买单"时,网站通过ID检索数据库中你的所有选择就能知道你的"购物篮"里有些什么。
在一般的事例中,网站的数据库能够保存的有你所选择的内容、你浏览过的网页、你在表单里填写的信息等;而包含有你的唯一ID的Cookie则保存在你的电脑里。
Cookies的缺陷
Cookie虽然被广泛的应用,并能做到一些使用其它技术不可能实现的功能。但也存在一些不够完美的方面,给应用带来不便。
多人共用一台电脑的问题
任何公共场合的电脑或者许多在办公室或家里使用的电脑,都会同时被两个以上的人使用。这样,当你用它在网上超市购物时,网上超市或网站会在这台机器上留下一个Cookie,将来也许就会有某个人试图使用你的账户购物,带来了不安全的可能。当然,在一些使用多用户操作系统如Windows NT或UNIX的电脑上,这并不会成为一个问题。因为在多用户操作系统下不同的账户的Cookie分别放在不同的地方。
Cookies被删除时
假如你的浏览器不能正常工作,你可能会删除电脑上所有的临时Internet文件。然而,一旦这样操作以后,你就会丢掉所有的Cookies文件。当你再次访问一个网站时,网站会认为你是一位新用户并分配给你一个新的用户ID以及一个新的Cookie。结果将会造成网站统计的新老用户比发生偏差,而你也难以恢复过去保存的参数选择。
一人使用多台电脑时
有的人一天之中经常使用一台以上的电脑。例如在办公室里有一台电脑、家里有一台、还有移动办公用的笔记本电脑。除非网站使用了特别的技术来解决这一问题,否则,你将会有三个不同的Cookies文件在这三台机器上,而在三台机器上访问过的任何网站都将会把你看成三个不同的用户。
防范Cookies泄密
想知道你访问的网站是否在你的硬盘或内存中写入了Cookies信息吗?只需执行下面的操作步骤,就可以了解和控制你正在访问的网站的Cookies信息。
步骤一点击IE窗口中的"工具" "In-ernet选项",打开"Internet选项"设置窗口;
步骤二点击"Internet选项"设置窗口中的"安全"标签,然后再点击"自定义级别"按钮,进入"安全设置"窗口;
步骤三 找到"安全设置"窗口中的"Cookies"设置项。"Cookies"设置项下有两个分选项,其中"允许使用存储在您计算机上的ookies"是针对存储在用户计算机硬盘中的Cookies文件;"允许使用每个对话Cookies(未存储)"是针对存储在用户计算机内存中的Cookies信息。存储在硬盘中的Cookies文件是永久存在的,而存储在内存中的Cookies信息是临时的。要想IE在即将接收来自Web站点的所有Cookies时进行提示,可分别选择上面两个分选项中的"提示"项。当然,你也可以选择"启用",允许IE接受所有的Cookies信息(这也是IE的默认选项);选择"禁止",则是不允许Web站点将Cookies存储到您的计算机上,而且Web站点也不能读取你计算机中已有的Cookies。
IE6.0提供了更为可靠的个人隐私及安全保护措施,可以让用户来控制浏览器向外发送信息的多少。在"Internet 选项"窗口中新增了"隐私"选项卡(图1),用户可以在其中直接设置浏览时的隐私级别,按需要控制其他站点对自己电脑所使用的Cookies。
如果我们正在浏览的站点使用了Cookie,那么在浏览器状态栏中会有一个黄色惊叹号的标记,双击后可打开"隐私报告"对话框,用户可以在其中查看具体的隐私策略,还可直接点击"设置"按钮后在上述"隐私"选项卡中调节安全隐私级别。
在"常规"选项卡中还增加了"删除Cookies"按钮(图2),方便用户直接清除本机上的Cookies。另外,在"工具" "选项" "高级"选项卡中也增加了一些进一步提高安全性的选项(如关闭浏览器时清空Internet临时文件)。其实,如何更好地保护个人隐私和安全是微软下一代".NET"战略软件中的关键技术,现在IE6.0已经尝试着迈出了第一步。
另外,由于Cookies的信息并不都是以文件形式存放在计算机里,还有部分信息保存在内存里。比如你在浏览网站的时候,Web服务器会自动在内存中生成Cookie,当你关闭IE浏览器的时候又自动把Cookie删除,那样上面介绍的两种方法就起不了作用,我们需要借助注册表编辑器来修改系统设置。要注意的是,修改注册表前请作备份,以便出现问题后能顺利恢复。
运行Regedit,找到如下键值:HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Internet Settings/Cache/Special Paths/Cookies,这是Cookies在内存中的键值,把这个键值删除。至此Cookies无论以什么形式存在,我们都不用再害怕了。
最后有必要说明的一点是:杜绝Cookies虽然可以增强你电脑的信息安全程度,但这样做同样会有一些弊端。比如在一些需要Cookies支持的网页上,会发生一些莫名其妙的错误,典型的例子就是你以后不能使用某些网站的免费信箱了。
Cookies欺骗
通过分析Cookie的格式,我们知道,最后两项中分别是它的URL路径和域名,服务器对Cookie的识别靠的就是这两个参数。正常情况下,我们要浏览一个网站时输入的URL便是它的域名,需要经过域名管理系统DNS将其转化为IP地址后进行连接。若能在DNS上进行一些设置,把目标域名的IP地址对应到其它站点上,我们便可以非法访问目标站点的Cookie了。
要进行Cookies欺骗,其实很简单。比如在Win9X下的安装目录下,有一名为hosts.sam的文件,以文本方式打开后会看到这样的格式:
127.0.0.1 localhost
经过设置,便可以实现域名解析的本地化,只需将IP和域名依上面的格式添加到文件中并另存为hosts即可。hosts文件实际上可以看成一个本机的DNS系统,它可以负责把域名解释成IP地址,它的优先权比DNS服务器要高,它的具体实现是TCP/IP协议中的一部分。
比如我们要读取的目标站点 所生成的Cookies信息,可以借助(自己的站点)。 存放用来进行欺骗所需的文件,通过它读取和修改对方的Cookie。
步骤一 ping 的IP地址:
ping
Reply from 192.168.0.1: bytes=32 time=20ms TTL=244
然后修改hosts.sam文件如下:
192.168.0.1
并保存为hosts文件。
步骤二 读取Cookies信息:
将用来读取Cookie的页面传 ,此时连,由于我们进行本机DNS域名解析的修改,这时网络连接的并不,而 。
这设在本地的Cookie便可被读出。
步骤三 同样道理,你可对读出的数据进行修改,并可将修改后的信息写入Cookie中。修改完毕后,删掉hosts文件,再重新进,此时所使用的Cookies数据就是你制定的数据。
总之,在某种程度上虽然可以实现Cookies的欺骗,给网络应用带来不安全的因素,但Cookies文件本身并不会造成用户隐私的泄露,也不会给黑客提供木马程序的载体,只要合理使用,它们会给网站管理员进行网站的维护和管理以及广大用户的使用都带来便利。
Cookies集合具有以下几种属性:
1.Expires属性:此属性用来给Cookies设置一个期限,在期限内只要打开网页就可以调用被保存的Cookies,如果过了此期限Cookies就自动被删除。如:
设定Cookies的有效期到2004年4月1日,到时将自动删除。如果一个Cookies没有设定有效期,则其生命周期从打开浏览器开始,到关闭浏览器结束,每次运行后生命周期将结束,下次运行将重新开始。
2.Domain属性:这个属性定义了Cookies传送数据的唯一性。若只将某Cookies传送给_blank">搜狐主页时,则可使用如下代码:
3.Path属性:定义了Cookies只发给指定的路径请求,如果Path属性没有被设置,则使用应用软件的缺省路径。
4.Srcure属性:指定Cookies能否被用户读取。
5.Haskeys属性:如果所请求的Cookies是一个具有多个键值的Cookies字典,则返回True,它是一个只读属性
转自
F. MD5加密后的密码存入数据库后,如果用户忘记了该怎么找回呀...网上都说MD5只能加密不能解密的
对 不能找回 除非1.你之前在数据库保存明文密码 2.提供用户一个重新设置密码的机会,通过密码问题等方式让用户重新输入密码 然后保存新的MD5值
G. 十大常见密码加密方式
一、密钥散列
采用MD5或者SHA1等散列算法,对明文进行加密。严格来说,MD5不算一种加密算法,而是一种摘要算法。无论多长的输入,MD5都会输出一个128位(16字节)的散列值。而SHA1也是流行的消息摘要算法,它可以生成一个被称为消息摘要的160位(20字节)散列值。MD5相对SHA1来说,安全性较低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、对称加密
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非对称加密
非对称加密算法是一种密钥的保密方法,它需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
四、数字签名
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。
五、直接明文保存
早期很多这样的做法,比如用户设置的密码是“123”,直接就将“123”保存到数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
六、使用MD5、SHA1等单向HASH算法保护密码
使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。
七、特殊的单向HASH算法
由于单向HASH算法在保护密码方面不再安全,于是有些公司在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质上的提升。
八、PBKDF2
该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。
九、BCrypt
BCrypt 在1999年就产生了,并且在对抗 GPU/ASIC 方面要优于 PBKDF2,但是我还是不建议你在新系统中使用它,因为它在离线破解的威胁模型分析中表现并不突出。
十、SCrypt
SCrypt 在如今是一个更好的选择:比 BCrypt设计得更好(尤其是关于内存方面)并且已经在该领域工作了 10 年。另一方面,它也被用于许多加密货币,并且我们有一些硬件(包括 FPGA 和 ASIC)能实现它。 尽管它们专门用于采矿,也可以将其重新用于破解。
H. Jsp网页注册用户名密码,时将密码加密保存数据库,这样的加密方式是怎么实现一般写在哪个文件里
1、定义一个加密处理的class类,通常可以使用MD5来加密,在网络上可以找到此Java源代码
2、在保存用户的密码时,先对获取的密码进行MD5加密后再保存到数据,如:
String passwd=request.getParameter("passwd");
passwd=MD5(passwd);
//通过JDBC写入到数据库
3、在用户登录时,将用户登录输入的密码进行MD5加密后与数据库读取的密码进行比较,若相等若通过登录:
String passwd=request.getParameter("passwd");
.......
if(MD5(passwd).equal(rs.get("passwd")))
//通过登录
I. 如何使用MD5对密码进行加密后再保存到数据库中
对!!
你数据库里的密码是经过md5加密过的,登录时你输入密码后系统会把你的密码进到md5加密,然后再与数据库里的加密的md5码进行对比!!这是为了防止恶意程序进行监听你的密码!!
J. 怎么该密码加密以后存储到数据库中
自己写两个函数,一个字符串加密函数,把密码按你的规则加密,一个字符串解密函数,把数据库中读出来的编码转换回你的密码!