MD5方式存储在数据库
php将密码存入数据库,可以分内常见的4种方式:
1、直接md5加密存到到数据库
2、md5两次存到数据库
3、对需要加密的字符串和一个常量 进行混淆加密
4、生成一个随机的变量存到数据库中,然后对需要加密的字符串和这个随机变量加密
<?php$str="admin"; //需要加密的字符串$str2="php"; //增加一个常量混淆 $pass1=md5($str);$pass2=md5(md5($str));$pass3=md5($str.$str2);echo $pass1."<br>".$pass2."<br>".$pass3;?>
输出:
第四种
$str="admin"; //需要加密的字符串$encrypt=$row['encrypt']; // 生成的 随机加密字符串 存到数据库中$pass4=md5($str.$encrypt);//
⑵ 如何把密码等信息以MD5的形式加密存入数据库!
先对密码进行MD5求得散列,让后将散列子串存入数据库,等用户登录输入密码时候,对输入进行MD5求散列,将获得子串和数据库中存入的比较,相等则输入正确,否则输入错误。
⑶ C#如何用MD5算法实现上传文件加密后存入数据库,Winform的,请大神们回答的详细一点,我实在是不懂!
用MD5加密文件不可行,MD5是不可逆加密,也就是说加密后无法还原,到时候取出来的时候无法还原成原始文件的
像文件加密这种,需要找一种可逆的加密算法,MD5适合加密密码这种不需要还原的,或者用于计算文件的MD5用于较对看看是否产生变化
⑷ MD5是做什么用的啊
MD5中文名为消息摘要算法第五版,英文全称Message-Digest Algorithm 5。
MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。
(4)MD5方式存储在数据库扩展阅读:
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
MD5
1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。
这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。
⑸ 为什么密码要以MD5值存储在数据库
首先,密码字段肯定是字符串格式,可变长字符串比如varchar(20)。
字符串格式可以包含字母,数字和一些常用特殊字符
其次,一个健全的数据库存储的密码不应该以明文的形式存储。
比如通过MD5编码的形式存储密码,这样既安全又保持唯一性。
⑹ MD5处理怎么使用啊!我用它来存放密码,然后与数据库里边的数据比对,分明正确了,为什么提示错误啊!
密码输入后的字符串str1 经过md5加密后为 str2, 这里str2才是放入数据库里面的数据。
你取出来的str2在文本框里面的显示出来是正确的字符串。
你把过程理解错了吧 。
在数据库里面如果你看见数据是正确的(密码和你输入的一样的话) ,说明你存入数据库的时候没有加密,取出来的时候加密了,过程写反了吧
⑺ 如何使用MD5对密码进行加密后再保存到数据库中
对!!
你数据库里的密码是经过md5加密过的,登录时你输入密码后系统会把你的密码进到md5加密,然后再与数据库里的加密的md5码进行对比!!这是为了防止恶意程序进行监听你的密码!!
⑻ 各位用php将密码存入数据库,都用什么方法进行加密的
php将密码存入数据库,可以分内常见的4种方式:
1、直接md5加密存到到数据库
2、md5两次存到数据库
3、对需要加密的字符串和一个常量 进行混淆加密
4、生成一个随机的变量存到数据库中,然后对需要加密的字符串和这个随机变量加密
<?php
$str="admin";//需要加密的字符串
$str2="php";//增加一个常量混淆
$pass1=md5($str);
$pass2=md5(md5($str));
$pass3=md5($str.$str2);
echo$pass1."<br>".$pass2."<br>".$pass3;
?>
输出:
$str="admin";//需要加密的字符串
$encrypt=$row['encrypt'];//生成的随机加密字符串存到数据库中
$pass4=md5($str.$encrypt);
//
⑼ PHP怎么给密码加上MD5存入数据库
1.
通过get或post获取前台传来的密码
$_POST['password'];
2.
md5
函数加密: $pwd
=
md5($_POST['password']);
3.
写入数据库
insert
into
table(name,pwd)
value('name',$pwd);
⑽ MD5加密后的密码存入数据库后,如果用户忘记了该怎么找回呀...网上都说MD5只能加密不能解密的
对 不能找回 除非1.你之前在数据库保存明文密码 2.提供用户一个重新设置密码的机会,通过密码问题等方式让用户重新输入密码 然后保存新的MD5值