PHP及MYSQL中有关字符串加密函数的讨论

2014-11-24 17:17:21 · 作者: · 浏览: 0

  我们在写PHP程序时经常要对用户的口令加密以确保安全,这时就要用到一些加密的函数。我总结了以下几种方法写出来供大家参考。


1、用MYSQL中的加密函数来加密:PASSWORD()


  我想,这是一种很常用的方法了,具体的实现方法如下:


 设用户输入的用户名为:test,密码为:123456要把它们写到MYSQL数据库中去并且同时给这个密码加密,则可以这样写:


设用户名的变量名为: $user_name,其值为 test


 密码的变量名为:$user_password,其值为 123456


完整的代码如下:


<


$user_name="test";


$user_password="123456";


$connect=mysql_connect("localhost","root");


$open=mysql_select_db("test"); //$sql="select password($user_password)";


$sql="INSERT INTO login_user(user_name,user_password) values('$user_name',password('$user_password'))";


mysql_query($sql);


mysql.close($connect);


>


以上是加密的过程,下面的是解密过程,和加密的一样道理,只要改SQL语句就可以了。


$sql="select * from login_user where user_name='$user_name' and user_password=password('$user_password')";


echo mysql_result($result,0,"user_name");


echo "

";


echo mysql_result($result,0,"user_password");


注意:上面用到的PASSWORD()是MYSQL中的函数,它是不可逆的,即:如果你忘了密码的话。。。哈,那就没有办法取回了,所以你一定要记住你的密码呀(如果你不是网管的话)。


2、ENCODE()和DECODE()函数     (前一个是加密函数,后一个是解密函数,这是可逆的)


这也是MYSQL函数、、、、、具体的用法下回再写吧。