我编写了一个Java程序,可以访问我的MySQL数据库。 目前我使用Joomla作为CMS,因此我想编写我的Java程序,以便能够检查用户数据(Joomla)来访问数据库。
如果不可能:我应该使用哪种加密方式,以便以后可以在我的网站上使用?
现在我的程序只是将用户字段和密码字段中的字符串与MySQL数据库中的数据进行比较。
我是加密/解密的新手。任何提示我应该如何处理这个问题的人都表示赞赏。
提前致谢
招呼
THE-E
答案 0 :(得分:2)
您不应该在数据库中看到任何纯文本密码。我不确定Joomla的旧版本是如何做到的,但是目前的版本以下列格式保存密码:
md5([password][salt]):[salt]
你显然用密码替换[密码],用盐替换[盐]。例如,您可能会在用户表的密码字段中看到以下字符串
dc0ea62a2aebf85100609bb67c6886a8:yh9MbHU5hR6ydbd8mCw6bQzCrRFYEI3E
冒号后面的部分是盐,冒号前面的部分是密码和盐的md5哈希值。现在我可以告诉你这里的密码是'test'。字符串是:md5(testyh9MbHU5hR6ydbd8mCw6bQzCrRFYEI3E):yh9MbHU5hR6ydbd8mCw6bQzCrRFYEI3E
答案 1 :(得分:0)
实质上你想要做的是如下。 当你存储密码加密它。 当用户输入密码到表格加密时,并将其与数据库中的加密密码进行比较。
您不想做的事情是对存储的密码进行解密,并将其与表单输入进行比较。
在PHP中我使用Bcrypt。