密码只属于用户自己:如果一个用户在多处使用同一个密码,因为你得到了他一个应用程序的密码,结果他的网银密码你也知道了,这是不可取的,因此,设计者一般都采用密码加密功能,甚至是单向加密,这样就是数据库被破解,用户的密码也不会泄露,只有这样,用户才能放心地设置自己的密码!!
mysql -uroot -p 输入密码回车后,出现如下图错误。这时候需要我们破解密码。
service mysqld stop //先停止mysql服务。
然后打开mysql配置文件/etc/mycnf在mysqld下面添加一行代码:skip-grant-tables。这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。
service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。
mysql -uroot -p //此时直接回车,既可以进入数据库。
出现mysql>就说明你已经进入到mysql数据库里了。
进数据库后,
use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。
show tables //查看下mysql库里有哪些表,我们需要 *** 作的用户名密码都在user表里。
desc user //查看下user表有哪些字段
更改root密码。
update user set password=password('123456') where user="root"; //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。
flush privileges; //刷新下密码,使更改的生效。
exit //退出数据库。
退出数据库,重新登录
mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。
然后再次进入配置文件vi /etc/mycnf 把skip-grant-tables去掉。
1、定义一个加密处理的class类,通常可以使用MD5来加密,在网络上可以找到此Java源代码
2、在保存用户的密码时,先对获取的密码进行MD5加密后再保存到数据,如:
String passwd=requestgetParameter("passwd");
passwd=MD5(passwd);
//通过JDBC写入到数据库
3、在用户登录时,将用户登录输入的密码进行MD5加密后与数据库读取的密码进行比较,若相等若通过登录:
String passwd=requestgetParameter("passwd");
if(MD5(passwd)equal(rsget("passwd")))
//通过登录
1 首先你要到网上去下载个封装了MD5算法的文件,例如文件名是MD5ASP的,这个很好找。这个文件中封装了方法Public Function MD5(str),这个方法的返回值是字符串str的MD5加密值。
2 在你需要使用MD5加密算法的文件开头加上代码:
<!--#include virtual="\MD5ASP"-->
(注意路径,这个例子是放在网站根目录下的)就可以使用方法MD5(str)了。
3 你的会员注册和登录页面中,接收到用户密码的字符串str可以像这样转换为MD5加密值:
str = MD5(str)
4 会员注册时,把用户名和加密后的密码存入access数据库中,这样即使查看数据库,也只能看到密码的加密值,看不到实际输入的密码明码。会员登录时,把密码按第3步那样转换为加密值后,再和access数据库中注册时存储的密码加密值比较即可进行验证。
5 关于数据库的写入和查询不在你的问题范围之内了,这里就不详细说了。
如果jdbc和mysql都支持SSL那通过配置就可以了\x0d\如果不支持,那也可以自己来实现。\x0d\实现思路:\x0d\1、在数据库的主机上运行一个java服务,用来转发数据这个服务我们成为A服务\x0d\2、客户端并不直接访问数据库,而访问A服务,客户端和A服务之间的传输代码由用户自己完成,当然可以加密。走套接字,走>
以上就是关于数据库里的密码为什么要加密全部的内容,包括:数据库里的密码为什么要加密、mysql数据库里面的数据中的密码加密了,怎么解密、用户名和存储密码迷你数据库加密的话应该怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)