【发布时间】:2019-11-18 14:06:08
【问题描述】:
NodeJS如何选择hash码?
我有一个用另一种语言制作的系统,密码为 SHA256
那里的功能:
#define HASH_CODE = 'WEASDSAEWEWAEAWEAWEWA';
SHA256_PassHash(HASH_CODE, password, 64);
第一,param是哈希码,第二是要加密的var,第三是base64
我在NodeJS上做了加密,但是我无法控制hash code,所以系统不会做同样的hash,如何在NodeJS上选择寄存器上的code,以便系统与其他人通信?
const code = 'WEASDSAEWEWAEAWEAWEWA';
const normal = 'anne';
const crypto = require('crypto');
const encrypted = crypto
.createHash('sha256')
.update(normal)
.digest('base64');
console.log(encrypted);
兼容代码示例,此登录 PHP 登录.php
<?php require_once('../mysql_conn.php'); ?>
<?php
session_start();
$HASH_SENHA = 'WEASDSAEWEWAEAWEAWEWA';
if(isset($_SESSION['Username']))
{
header("location: ../myaccount.php");
exit();
}
if(isset($_POST['usr']) && isset($_POST['psw']) && isset($_POST['botao']))
{
$usuario = mysqli_real_escape_string($MYSQL_CONNECT, $_POST['usr']);
$senha = strtoupper(hash("sha256", $_POST['psw'] . $HASH_SENHA));
$query = mysqli_query($MYSQL_CONNECT, "SELECT * FROM accounts WHERE Username='$usuario' AND Senha='$senha' LIMIT 1");
if(mysqli_num_rows($query) < 1)
{
echo "<script type=\"text/javascript\">
alert('Incorrect Username or Password.');
window.location = '../login.php';
</script>";
exit();
}
else
{
//login efetuado
$dados = mysqli_fetch_assoc($query);
if (isset($_SESSION['loc'])) {
header("location:".$_SESSION['loc']);
}
else header("location:../index.php");
}
}
?>
【问题讨论】:
-
您需要同时提供 Node 和 Other hash 的结果
-
SHA256_PassHash被调用的另一种语言是什么? -
那里的密码 123(带代码):8A8E0E514F3A1F3D160C58C99BC66C81A10256E6A3462002A53ADACAD6C43EAB 节点中的密码 123(不带代码控制):kLjeQFHwK3opSENB86kD4bLGojXm8Rl=