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);
//
❷ mysql 建表的时候密码用 md5()加密 但加密后的结果跟用PHP函数md5出来的结果不一样
这个很明显的错误,数据库只差距了MD5加密的前30位,你password的字段长度肯定为30,MD5加密的长度为32,所以就不一样咯
❸ 如何用PHP、Qt开发框 架和MySQL一起做出一个文件加密传输系统
文件加密是指QT作为客户端,运行在PC上,然后PHP+MySQL作为服务端,客户端选择一个文件,上传到服务端后加密保存吗?
还是说既要加密存储,也要加密传输?
❹ php中mysql加锁问题
有表锁,行锁,页锁
页级:引擎 BDB。
表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行
行级:引擎 INNODB , 单独的一行记录加锁
1) 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
2) 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
3) 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
一般不在PHP中使用锁操作,因为如果锁了库,如果遇到错误没有及时的解锁,就会导致不能访问数据的情况。
可以使用MYSQL的事务,就是定义事务开始,然后有几个语句要执行,然后根据情况,如果有一个语句没有执行成功,可以回滚(取消这几个语句的执行),从而达到几个语句都执行成功或者都不执行的效果,在强事务型的应用中一般使用这个方式
你可以去后盾人平台看看,里面的东西不错
❺ 在mysql数据库md5加密和phpmd5加密结果为什么不一样
md5计算有16bit和32bit,你看看你的配置是不是一样的。另外网上有很多计算md5结果的网站,他上面会同时提供16bit和32bitMD5的结果,你将你的两个结果和他们比对一下就知道那个出错了。
❻ php下载了MySQL数据库后怎么设置账号和密码啊
php修改mysql数据库中的用户名和密码方法如下:
方法一
1、使用phpmyadmin,这是最简单的了,修改mysql库的user表,
2、不过别忘了使用PASSWORD函数。
方法二
1、使用mysqladmin,这是前面声明的一个特例。
2、mysqladmin -u root -p password mypasswd ,输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
3、把命令里的root改为你的用户名,你就可以改你自己的密码了。
4、当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。
5、下面的方法都在mysql提示符下使用,且必须有mysql的root权限:
方法三
1、mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
2、确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
3、在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
4、注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。
方法四
和方法三一样,只是使用了REPLACE语句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
方法五
1、使用SET PASSWORD语句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
2、也必须使用PASSWORD()函数,
3、但是不需要使用FLUSH PRIVILEGES。
方法六
1、使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
2、这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
❼ PHP+MYSQL 数据库的用户名和密码保存问题
你所说的用户名和密码是登陆MySQL用的还是登陆PHP系统用的?
如果是mySQL的那你大可不必担心,安装mySQL的时候root账号设置为禁止远程登录,也就是只有127.0.0.1和localhost才能对mySQL访问.只要密码强度足够,而且定时更换的话,是被破解的机会是不大的(我所在公司的informix数据库登录密码都在10位以上.暴力破解的话,不知道哪年才有结果.
如果是登陆php的,只要在php代码健壮性足够,操作系统也没有漏洞的情况下.也不是那么容易被破解
ps:密码使用不可逆的一些加密算法来保存.既明文可以转换成密文,而密文不可以转换成明文的算法.
例如MD5(但是MD5现在网上有近8万亿条的密码字典了).SHA这些
❽ 求助老师:关于php+mysql密码加密与登录问题
如果你得php版本在5.5以上的话可以直接使用php推出的一个password_hash方法对密码进行加密,
或者使用这个polyfill可以达到一样的效果
$salt = mcrypt_create_iv(22, MCRYPT_DEV_URANDOM);
$salt = base64_encode($salt);
$salt = str_replace('+', '.', $salt);
$hash = crypt('rasmuslerdorf', '$2y$10$'.$salt.'$');
echo $hash
❾ 各位用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+mysql这种情况下如何保证我的数据库信息的安全
建立一个链接文件:如conn.php,然后用zend将conn.php文件加密就可以了。
conn.php代码如下:
<?php
$mysql_server_name='localhost';
$mysql_username='root';
$mysql_password='12345678';
$mysql_database='mycounter';
$conn=@mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
if ($conn) {
if (!@mysql_select_db($mysql_database))
{
die("选择数据库是失败");
}
}
else
{
die("数据库连接失败");
}
?>