Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membangunkan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai menggunakan PHP dan Vue.js

Bagaimana untuk membangunkan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai menggunakan PHP dan Vue.js

PHPz
PHPzasal
2023-07-05 20:53:101782semak imbas

Cara membangunkan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai menggunakan PHP dan Vue.js

Pengenalan:
Dalam dunia dalam talian, keselamatan kata laluan amat penting. Untuk melindungi privasi dan keselamatan pengguna, kami perlu menggunakan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai. Dalam artikel ini, kami akan memperkenalkan cara membangunkan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai menggunakan PHP dan Vue.js, dengan contoh kod.

1 Memahami prinsip penyulitan dan penyahsulitan kata laluan
Sebelum memulakan pembangunan, kita perlu memahami prinsip penyulitan dan penyahsulitan kata laluan. Secara umumnya, kami menggunakan algoritma pencincangan untuk menyulitkan kata laluan. Algoritma cincang ialah algoritma yang menukar data dari sebarang panjang kepada output panjang tetap dan digunakan secara meluas dalam bidang kriptografi. Apabila disulitkan, kata laluan ditukar kepada nilai cincang panjang tetap dan disimpan dalam pangkalan data. Apabila mengesahkan kata laluan, kami membandingkan kata laluan yang dimasukkan dengan nilai cincang yang disimpan dalam pangkalan data untuk menentukan ketepatan kata laluan.

2. Gunakan PHP untuk melaksanakan fungsi penyulitan dan penyahsulitan kata laluan

  1. Pasang PHP
    Pertama, kita perlu memasang PHP. Anda boleh memuat turun versi terkini PHP dari tapak web rasmi (https://www.php.net/downloads.php) dan ikut arahan untuk memasangnya.
  2. Buat Jadual Pangkalan Data
    Kita perlu mencipta jadual pangkalan data untuk menyimpan cincang kata laluan pengguna. Berikut ialah contoh mudah:
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    password VARCHAR(255)
);
  1. Tulis kod PHP
    Seterusnya, kita perlu menulis kod PHP untuk melaksanakan fungsi penyulitan dan penyahsulitan kata laluan. Mula-mula, buat fail bernama encrypt.php dalam direktori akar projek dan tulis kod berikut: encrypt.php的文件,并写入以下代码:
<?php

function encryptPassword($password) {
    $hash = password_hash($password, PASSWORD_BCRYPT);
    return $hash;
}

function verifyPassword($password, $hash) {
    return password_verify($password, $hash);
}

以上代码中,encryptPassword函数用于将密码加密为哈希值,verifyPassword函数用于验证密码的正确性。

  1. 连接数据库并进行操作
    encrypt.php文件中,我们还需要编写与数据库交互的代码。以下是一个示例:
<?php

// 连接数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "example_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// 添加用户
$username = "example_user";
$password = "example_password";
$hash = encryptPassword($password);

$sql = "INSERT INTO users (username, password) VALUES ('$username', '$hash')";
$conn->query($sql);

// 验证密码
$username = "example_user";
$password = "example_password";

$sql = "SELECT password FROM users WHERE username = '$username'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    $row = $result->fetch_assoc();
    $hash = $row["password"];
    
    if (verifyPassword($password, $hash)) {
        echo "密码正确";
    } else {
        echo "密码错误";
    }
} else {
    echo "用户不存在";
}

$conn->close();

以上代码中,我们首先连接到MySQL数据库,并添加了一个示例用户。接下来,我们通过输入的用户名来查找对应的密码哈希值,并通过verifyPassword函数验证密码的正确性。

三、使用Vue.js实现前端页面和交互

  1. 安装Vue.js
    要使用Vue.js,我们需要先安装Vue.js的依赖包。可以使用npm或yarn进行安装。在项目的根目录下运行以下命令:
npm install vue
  1. 创建Vue.js项目
    在项目的根目录下创建一个名为index.html的文件,并写入以下代码:
<!DOCTYPE html>
<html>
<head>
    <title>Password Encryption and Decryption System</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <h1>密码加密与解密系统</h1>
        <input type="password" v-model="password" placeholder="密码">
        <button @click="encryptPassword">加密密码</button>
        <button @click="verifyPassword">验证密码</button>
        <div v-if="encryptedPassword">
            <p>加密后的密码:{{ encryptedPassword }}</p>
            <p v-if="verified">密码验证通过</p>
            <p v-else>密码验证失败</p>
        </div>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                password: '',
                encryptedPassword: '',
                verified: false
            },
            methods: {
                encryptPassword() {
                    // 发送加密请求并将加密后的结果更新到页面上
                    this.encryptedPassword = '加密后的密码';
                },
                verifyPassword() {
                    // 发送验证请求并将验证结果更新到页面上
                    this.verified = true;
                }
            }
        });
    </script>
</body>
</html>

以上代码中,我们创建了一个Vue的实例,并在页面上添加了密码输入框和两个按钮。点击"加密密码"按钮时,将触发encryptPassword方法,该方法会发送加密请求给后端,并将加密后的密码更新到页面上。点击"验证密码"按钮时,将触发verifyPassword

rrreee

Dalam kod di atas, fungsi encryptPassword digunakan Kata laluan disulitkan ke dalam nilai cincang dan fungsi verifyPassword digunakan untuk mengesahkan ketepatan kata laluan.

    Sambung ke pangkalan data dan lakukan operasi🎜Dalam fail encrypt.php, kami juga perlu menulis kod untuk berinteraksi dengan pangkalan data. Berikut ialah contoh: 🎜🎜rrreee🎜Dalam kod di atas, kami mula-mula menyambung ke pangkalan data MySQL dan menambah pengguna sampel. Seterusnya, kami menggunakan nama pengguna yang dimasukkan untuk mencari nilai cincang kata laluan yang sepadan dan mengesahkan ketepatan kata laluan melalui fungsi verifyPassword. 🎜🎜3. Gunakan Vue.js untuk melaksanakan halaman hadapan dan interaksi🎜🎜🎜Pasang Vue.js🎜Untuk menggunakan Vue.js, kami perlu memasang pakej kebergantungan Vue.js terlebih dahulu. Ia boleh dipasang menggunakan npm atau benang. Jalankan arahan berikut dalam direktori akar projek: 🎜🎜rrreee
      🎜Buat projek Vue.js🎜Buat fail bernama index.html dalam direktori akar projek , dan tulis kod berikut: 🎜🎜rrreee🎜Dalam kod di atas, kami mencipta contoh Vue dan menambah kotak input kata laluan dan dua butang pada halaman. Apabila anda mengklik butang "Encrypt Password", kaedah encryptPassword akan dicetuskan, yang akan menghantar permintaan penyulitan ke bahagian belakang dan mengemas kini kata laluan yang disulitkan ke halaman. Apabila butang "Sahkan Kata Laluan" diklik, kaedah verifyPassword akan dicetuskan, yang akan menghantar permintaan pengesahan ke bahagian belakang dan mengemas kini hasil pengesahan ke halaman. 🎜🎜Kesimpulan: 🎜Dengan menggunakan PHP dan Vue.js, kami boleh membangunkan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai. Dalam artikel ini, kami mempelajari tentang prinsip penyulitan kata laluan dan penyahsulitan, serta menyediakan contoh kod PHP dan Vue.js untuk melaksanakan fungsi penyulitan dan pengesahan kata laluan. Saya harap artikel ini dapat membantu anda dan boleh memberi sedikit rujukan semasa pembangunan. 🎜

Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem penyulitan dan penyahsulitan kata laluan yang boleh dipercayai menggunakan PHP dan Vue.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn