Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan perisian tengah rangka kerja Slim untuk melaksanakan fungsi penyulitan dan penyahsulitan data

Gunakan perisian tengah rangka kerja Slim untuk melaksanakan fungsi penyulitan dan penyahsulitan data

王林
王林asal
2023-07-31 15:29:121120semak imbas

Gunakan perisian tengah rangka kerja Slim untuk melaksanakan fungsi penyulitan dan penyahsulitan data

Dalam pembangunan web, penyulitan dan penyahsulitan data ialah langkah keselamatan yang sangat penting. Dalam rangka kerja Slim, kami boleh melaksanakan operasi penyulitan dan penyahsulitan data melalui perisian tengah. Artikel ini akan memperkenalkan cara menggunakan perisian tengah rangka kerja Slim untuk melaksanakan fungsi ini dan menyediakan contoh kod yang sepadan.

1. Pasang rangka kerja Slim

Pertama, kita perlu memasang rangka kerja Slim melalui komposer. Buka tetingkap baris arahan dan laksanakan arahan berikut:

composer require slim/slim

Selepas pemasangan selesai, perkenalkan fail pemuatan automatik rangka kerja Slim (autoload.php) ke dalam projek untuk mula menggunakan rangka kerja Slim.

2. Cipta aplikasi Slim

Buat fail index.php dalam projek, perkenalkan fail pemuatan automatik Slim ke dalamnya, dan kemudian buat aplikasi Slim. Contoh kod adalah seperti berikut:

<?php

require 'vendor/autoload.php';

$app = new SlimApp();

// 此处添加具体的路由和中间件

$app->run();

3. Laksanakan penyulitan dan penyahsulitan middleware

Dalam aplikasi Slim, middleware ialah mekanisme untuk memproses permintaan sebelum atau selepas mereka sampai ke laluan. Kami boleh melaksanakan operasi penyulitan dan penyahsulitan data dengan menulis perisian tengah.

Pertama, kita perlu mencipta dua kelas middleware, satu untuk menyulitkan data dan satu lagi untuk menyahsulit data. Contoh kod adalah seperti berikut:

<?php

class EncryptionMiddleware
{
    public function __invoke($request, $response, $next)
    {
        $data = $request->getParsedBody(); // 获取请求体中的数据
        $encryptedData = // 加密数据的操作,此处省略代码示例
        
        // 将加密后的数据重新设为请求体
        $request = $request->withParsedBody($encryptedData);
        
        $response = $next($request, $response);
        
        return $response;
    }
}

class DecryptionMiddleware
{
    public function __invoke($request, $response, $next)
    {
        $data = $request->getParsedBody(); // 获取请求体中的数据
        $decryptedData = // 解密数据的操作,此处省略代码示例
        
        // 将解密后的数据重新设为请求体
        $request = $request->withParsedBody($decryptedData);
        
        $response = $next($request, $response);
        
        return $response;
    }
}

Dalam EncryptionMiddleware, kami memperoleh data dalam badan permintaan dan melaksanakan operasi penyulitan. Kemudian, data yang disulitkan ditetapkan semula kepada badan permintaan dan terus melaksanakan perisian tengah atau laluan seterusnya.

Dalam DecryptionMiddleware, kami memperoleh data dalam badan permintaan dan melakukan operasi penyahsulitan. Kemudian, data yang dinyahsulit ditetapkan semula kepada badan permintaan dan terus melaksanakan perisian tengah atau laluan seterusnya.

4. Gunakan perisian tengah

Seterusnya, kita perlu menggunakan perisian tengah penyulitan dan penyahsulitan ke laluan tertentu.

Dalam fail index.php, kita boleh menambah middleware pada laluan, contohnya seperti berikut:

<?php

require 'vendor/autoload.php';

$app = new SlimApp();

$app->post('/encrypt', function ($request, $response, $args) {
    // 具体的业务逻辑代码
    
    return $response;
})->add(new EncryptionMiddleware());

$app->post('/decrypt', function ($request, $response, $args) {
    // 具体的业务逻辑代码
    
    return $response;
})->add(new DecryptionMiddleware());

$app->run();

Dalam contoh di atas, kami mencipta dua laluan, iaitu /encrypt dan /decrypt. Dalam laluan itu, kami menambah perisian tengah penyulitan dan penyahsulitan yang sepadan dengan memanggil kaedah tambah.

5. Test

Kini, kami boleh menggunakan alat seperti Posmen untuk menguji fungsi penyulitan dan penyahsulitan kami.

Andaikan kami menggunakan kaedah POST untuk meminta laluan /encrypt, dan data yang dihantar ialah:

{
    "name": "John Doe",
    "age": 30
}

Perisian tengah penyulitan akan menyulitkan data dalam badan permintaan dan menetapkan data yang disulitkan sebagai badan permintaan baharu.

Begitu juga, kita boleh menggunakan kaedah POST untuk meminta laluan /decrypt, dan data yang dihantar adalah data yang disulitkan.

Perisian tengah penyahsulitan akan menyahsulit data dalam badan permintaan dan menetapkan data yang dinyahsulit sebagai badan permintaan baharu.

6. Ringkasan

Dengan menggunakan perisian tengah rangka kerja Slim, kami boleh melaksanakan fungsi penyulitan dan penyahsulitan data dengan mudah. Artikel ini memberikan contoh mudah, saya harap ia akan membantu kerja pembangunan anda. Sudah tentu, dalam aplikasi sebenar, anda juga mungkin perlu melakukan beberapa operasi tersuai pada kaedah penyulitan dan penyahsulitan.

Atas ialah kandungan terperinci Gunakan perisian tengah rangka kerja Slim untuk melaksanakan fungsi penyulitan dan penyahsulitan data. 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