如何使用 PDO 以安全的方式显示和隐藏密码

How to show and hide a password in a secure way using PDO

美好的一天,

我想显示存储在 SQL-Server 中的密码,并在单击按钮后显示它。 单击按钮时,必须使用 PDO 发出请求。我如何通过在 SQL 服务器中存储加密的密码并在用户单击后解密密码来以安全的方式执行此操作?

最好添加一个按钮来编辑此输入字段,以便用户可以在拥有所需权限的情况下更新此密码。

我将添加步骤来审核谁查看了密码。

例如

<!DOCTYPE html>
<html>
<head>
        <title>Change Input Text Value OnClick Event</title>
</head>
<body>
<input type="text" id="my_field" value="***********">
<button onclick="change()">Show Password</button>
<script>
function change(){
    var txt = "My Password"; // get this value using php, what would the best way be toencrypt and decrypt passwords
    document.getElementById("my_field").value = txt;
}
</script>
</body>
</html>

password_verify 例子

// See the password_hash() example to see where this came from.
$hash = 'y$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (password_verify('rasmuslerdorf', $hash)) {
    echo 'Password is valid!';
} else {
    echo 'Invalid password.';
}

我找到了我要找的东西。

不幸的是无法使用密码哈希方法,所以我需要使用“openssl_encrypt()”创建我的加密和解密函数,并从 geeksforgeeks.com 和它解释了这个过程。

然后我将在 SQL 和 PHP 之间修改和加密,以按照我想要的方式进行工作。

Link: https://www.geeksforgeeks.org/how-to-encrypt-and-decrypt-a-php-string/

示例代码

<?php

// Store a string into the variable which
// need to be Encrypted
$simple_string = "Welcome to GeeksforGeeks\n";

// Display the original string
echo "Original String: " . $simple_string;

// Store the cipher method
$ciphering = "AES-128-CTR";

// Use OpenSSl Encryption method
$iv_length = openssl_cipher_iv_length($ciphering);
$options = 0;

// Non-NULL Initialization Vector for encryption
$encryption_iv = '1234567891011121';

// Store the encryption key
$encryption_key = "GeeksforGeeks";

// Use openssl_encrypt() function to encrypt the data
$encryption = openssl_encrypt($simple_string, $ciphering,
            $encryption_key, $options, $encryption_iv);

// Display the encrypted string
echo "Encrypted String: " . $encryption . "\n";

// Non-NULL Initialization Vector for decryption
$decryption_iv = '1234567891011121';

// Store the decryption key
$decryption_key = "GeeksforGeeks";

// Use openssl_decrypt() function to decrypt the data
$decryption=openssl_decrypt ($encryption, $ciphering,
        $decryption_key, $options, $decryption_iv);

// Display the decrypted string
echo "Decrypted String: " . $decryption;

?>