当用户注册时,我应该按原样将他们的电子邮件存储在数据库中还是哈希.我希望以后可以解密,所以我应该使用md5吗?
谢谢!
我想用PHP和mysql创建一个简单的用户登录/注册系统.除了用户登录和退出所需的信息之外,我不需要获取任何信息.我想确保系统安全.
我目前理解它应该如何工作的方式是:
注册
用户输入他们的电子邮件地址和密码以及确认密码
PHP脚本确保密码匹配,并且电子邮件是有效地址,并且不在数据库中.
它会将密码和随机盐一起散列,并将盐和散列密码存储在数据库中.(php的md5功能是否适用于此?我不太确定这部分是如何工作的.)
将电子邮件确认代码存储在数据库中,并将给定的电子邮件地址发送回包含该代码的网站以进行验证?
登录
用户输入他们的电子邮件地址和密码
服务器在数据库中查找电子邮件并检索salt.然后使用用户刚刚提供的密码对salt进行哈希处理,以查看它是否与数据库中的密码相匹配.
登录后如何使会话保持不变.有PHP会话?一块饼干?什么应该存储在cookie中以便在访问之间记住用户?
我基本上只想验证我所描述的过程是一种准确而安全的用户注册/登录方式.另外,什么是一些有更多信息的好教程.
我正忙着为我的项目登录系统.
只是为了安全的额外步骤..如何检查/检测用户是否手动更改了cookie值?
有一些简单的方法吗?或者我是否必须设置一个额外的Session变量并将其与之匹配?有了这个说法,浏览器是否可以追溯正常的ASP.Net会话?并且可以向用户查看?
谢谢.
我正在构建一个拥有用户的网站,并且与大多数拥有某些用户类型系统的网站一样,他们使用他们的电子邮件和密码登录.我正在使用PHP作为我网站的后端部分.
在阅读了互联网上的一些文章和帖子后,我了解了PHP函数password_hash()和password_verify(),并想知道这样的示例程序是否足够安全?
所以我对此的问题如下:
任何答案都将非常感激.谢谢.
我正在尝试为Joomla创建一个自定义注册组件,我想知道是否有人知道如何为joomla创建正确的密码加密?Joomla密码看起来像这样:
fbae378704687625a410223a61c66eb1:VM6DwmVWHTwpquDq51ZXjWWADCIc93MR
我相信md5(或其他东西)和单向加密?我只是在寻找各种PHP代码来创建相同的加密.
干杯
可能重复:
PHP密码的安全散列和盐
我正在建立一个网站,我需要一个安全的算法来存储密码.我第一次想到bcrypt,但后来发现我的主机不支持它,我无法更改主机.
我的主机允许这种加密:
而这些哈希:
那么,你们中的任何人都能用这个和一个盐来修复一个好的算法吗?
我正在考虑编写自己的身份验证脚本,但我对安全性知之甚少.
从我阅读的文章来看,它看起来通常涉及用盐哈希密码并将其存储在数据库中.然后,当用户请求登录时,密码被哈希并与数据库进行比较.如果匹配,则用户的数据存储在$ _SESSION中.
但是,我不知道这是否安全.我读了一些关于在数据库中存储会话密钥的内容,但我不确定它是如何工作的,或者如何实现它.
有人可以解释如何实现安全身份验证吗?
另外,对于我可以合并的PHP身份验证库是否有任何建议,这些建议易于学习而不是自己编写?
$pass="test"
Run Code Online (Sandbox Code Playgroud)
上面的变量包含一个名为test的密码.我想使用sha512 md5哈希这个密码和盐我怎么做,因为我发现只有盐和sha512的好处,我已经知道md5 encryption.please我需要解决方案,因为我的系统是vunerable
请用代码示例解释它,因为我仍然附加到md5
从我的意见和你的评论我已经得到以下代码
$pass="test";
$hashed_pass= openssl_digest($pass, 'sha512');
Run Code Online (Sandbox Code Playgroud)
确定看起来足够坚固但是[salt ='']是什么?它会生成一个随机盐串或其他东西,如果是这样的话,如何实现它?
在阅读了有关盐密码散列的内容后,我想为管理区域实现一个简单的版本,以便建立一个网站.
如果你有很好的链接代码已经很好地实现了这个想法,如果你能分享,我将不胜感激.
谢谢,
你认为最安全,最安全的方法是什么?我把这些片段从php.net上删除了.我只是想知道,因为人们发布了他们自己,我只是无法理解为什么有些人是他们的方式......有人可以帮助我,并告诉我更多关于这些?哪个最安全,为什么?
1.
<?php
$hash = md5($salt1.$password.$salt2);
?>
Run Code Online (Sandbox Code Playgroud)
2.
<?php
function eliteEncrypt($string) {
// Create a salt
$salt = md5($string."%*4!#$;\.k~'(_@");
// Hash the string
$string = md5("$salt$string$salt");
return $string;
}
?>
Run Code Online (Sandbox Code Playgroud)
3.
<?php
define ('SALT_ONE', 'some_random_123_collection_&$^%_of_stuff');
define ('SALT_TWO', 'another_random_%*!_collection_ANbu_of_stuff');
$password = 'dragon';
function generate_encrypted_password($str) {
$new_pword = '';
if( defined('SALT_ONE') ):
$new_pword .= md5(SALT_ONE);
endif;
$new_pword .= md5($str);
if( defined('SALT_TWO') ):
$new_pword .= md5(SALT_TWO);
endif;
return substr($new_pword, strlen($str), 40);
}
echo generate_encrypted_password($password);
?>
Run Code Online (Sandbox Code Playgroud)
4.
<?
function enchsetenev($toencode,$times)
{
$salt = 's+(_a*'; …Run Code Online (Sandbox Code Playgroud)