解密哈希sha256加密,知道了盐

franvergara66

我正在为Web应用程序创建登录系统。要将密码存储在数据库中,我使用sha256加密密码,如下所示:

$salt ="sometext";
$escapedPW="userpass";
$saltedPW =  $escapedPW . $salt;
$hashedPW = hash('sha256', $saltedPW);
echo "<center>".$hashedPW."</center>";

我在数据库中存储用户,用户密码和用于进行哈希并验证用户登录名的盐。现在,我正在执行向用户发送包含您的密码的电子邮件的功能,但是当用户收到电子邮件时,由于存储在sha256加密密码中,因此用户会收到一个长字符串,而不是该用户应使用的密码要知道。

我的问题是,有什么方法可以向您发送实际的用户密码,而不向您发送非密码加密,即,如果我知道盐的话,有某种方法可以执行与sha256相反的操作?如果不可能,建议您使用哪种加密方法来完成加密密钥的反向操作,并将实际密码通过电子邮件发送给用户。

亨里克·斯科格莫

正如您对问题的评论中提到的那样,反向散列实际上不是一种选择。

但是,您可以做的是,其他人也一样。在表单发布到的注册码(例如register.php)中,PHP脚本可以通过电子邮件发送密码,然后对其进行加密并将其存储在数据库中。

我想您有某种注册表格,据说该表格将新用户的详细信息发布到另一个(或相同的)PHP脚本中,不是吗?

例如,如果我的表格说了类似 <form method="post" action="register.php">

然后register.php我会有类似的东西

<?php
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']); /*cleartext*/
$email    = mysql_real_escape_string($_POST['email']);

mail($email,"New account","Your username \"$username\" and your password is \"$password\"");

$salt ="sometext";
$escapedPW="userpass";
$saltedPW =  $escapedPW . $salt;
$hashedPW = hash('sha256', $saltedPW);

mysql_query("INSERT INTO users (username, password, email) VALUES ($username, $hashedPW, $email)")

一些粗略的示例代码。希望对您有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP盐和哈希SHA256作为登录密码

来自分类Dev

如何在锈中使用sha256对sha256的输出进行哈希处理

来自分类Dev

SHA256哈希计算

来自分类Dev

返回PDF页面的SHA256哈希

来自分类Dev

如何在Python中使用sha256哈希

来自分类Dev

如何在python中对变量进行sha256哈希

来自分类Dev

持续使用sha256哈希对象?

来自分类Dev

异步SHA256哈希

来自分类Dev

SHA256盐与PHP和MySQL-插入错误

来自分类Dev

JWT sha256哈希与Internet草案示例不符

来自分类Dev

Python中的双哈希SHA256

来自分类Dev

PHP哈希SHA256登录密码(与普通密码不同)

来自分类Dev

如何从sha256加密迁移到bcrypt for PHP?

来自分类Dev

如何指定用于计算SHA256哈希的密钥?

来自分类Dev

目标C和Java中的Sha256哈希

来自分类Dev

使用C ++中的键生成HMAC SHA256哈希

来自分类Dev

获取文件SHA256哈希码和校验和

来自分类Dev

Laravel如何用盐创建sha256哈希

来自分类Dev

原始javascript中的sha256加密

来自分类Dev

将C#中的加密与NodeJS匹配-创建哈希SHA256

来自分类Dev

SHA256哈希计算

来自分类Dev

Python中的双哈希SHA256

来自分类Dev

使用sha256哈希使用AES 128加密对j2me应用程序进行加密/解密

来自分类Dev

C ++中的SHA256哈希计算

来自分类Dev

是否保存以sha256_crypt加密但没有其他盐的加密密码

来自分类Dev

使用sha256和salt进行Java加密

来自分类Dev

如何使用 AES 与 sha256 哈希作为密钥加密 ++ 进行加密

来自分类Dev

sha256在c#中加密和解密字符串

来自分类Dev

为什么 System.Security.Cryptography SHA256 哈希无法通过在线哈希工具解密?