Jadual Kandungan
Import penyambung MySQL
Database connectionString
Sulitkan data
Nyahsulit data
}
Rumah pangkalan data tutorial mysql Membangunkan dengan MySQL dan PowerShell: Bagaimana untuk melaksanakan fungsi penyulitan dan penyahsulitan data

Membangunkan dengan MySQL dan PowerShell: Bagaimana untuk melaksanakan fungsi penyulitan dan penyahsulitan data

Aug 01, 2023 pm 01:52 PM
mysql powershell Penyulitan data

Membangun dengan MySQL dan PowerShell: Cara melaksanakan fungsi penyulitan dan penyahsulitan data

Ikhtisar:
Dalam aplikasi Internet moden, melindungi keselamatan data sensitif adalah penting. Untuk memastikan privasi pengguna dan integriti data, pembangun sering menggunakan teknologi penyulitan data. Artikel ini akan memperkenalkan cara menggunakan pangkalan data MySQL dan skrip PowerShell untuk melaksanakan fungsi penyulitan dan penyahsulitan data.

1. Penyulitan data dalam pangkalan data MySQL
MySQL menyediakan pelbagai fungsi dan algoritma penyulitan untuk memastikan keselamatan data yang disimpan dalam pangkalan data. Di sini, kami akan menunjukkan cara menggunakan fungsi AES_ENCRYPT dan AES_DECRYPT MySQL untuk penyulitan dan penyahsulitan data.

Pertama, kita perlu mencipta jadual yang mengandungi maklumat sensitif, seperti jadual maklumat peribadi pengguna. Dalam contoh ini, kami mencipta jadual bernama "pengguna" yang mengandungi dua medan: "nama pengguna" dan "kata laluan".

CIPTA pengguna JADUAL (
nama pengguna VARCHAR(50) NOT NULL,
kata laluan VARBINARY(100) NOT NULL
);

Seterusnya, kita boleh menggunakan fungsi AES_ENCRYPT untuk menyulitkan data yang disimpan dalam medan "kata laluan". Berikut ialah contoh:

MASUKKAN KE DALAM pengguna (nama pengguna, kata laluan)
VALUES ('pengguna1', AES_ENCRYPT('kata laluan123', 'kunci rahsia'));

Fungsi "AES_ENCRYPT" dalam kod di atas menggunakan dua parameter: Data yang akan disulitkan dan kunci penyulitan. Data yang disulitkan akan disimpan dalam pangkalan data sebagai jenis VARbinARI.

Kini kami boleh menulis pertanyaan untuk menyahsulit dan mendapatkan semula kandungan yang disulitkan yang disimpan dalam pangkalan data. Berikut ialah contoh:

PILIH nama pengguna, AES_DECRYPT(kata laluan, 'kunci rahsia') AS decrypted_password
DARI pengguna;

Pertanyaan ini akan mengembalikan kata laluan yang dinyahsulit.

2. Penyulitan data dalam skrip PowerShell
PowerShell ialah bahasa skrip yang berkuasa pada sistem pengendalian Windows, yang boleh berinteraksi dengan pelbagai pangkalan data. Di sini kami akan menunjukkan cara menggunakan skrip PowerShell untuk menyulitkan dan menyahsulit data sensitif.

Pertama, kita perlu memasang penyambung .NET untuk MySQL, yang akan membolehkan PowerShell berkomunikasi dengan pangkalan data MySQL. Setelah penyambung dipasang, kami boleh menulis skrip PowerShell untuk menyambung ke pangkalan data dan melaksanakan operasi penyulitan dan penyahsulitan.

Berikut ialah contoh menggunakan skrip PowerShell untuk menyulitkan dan menyahsulit data:

Import penyambung MySQL

Add-Type -Path 'C:Path oMySql.Data.dll'

Database connectionString

'Maklumat sambungan pangkalan data

server =localhost;database=mydatabase;uid=username;pwd=password'

Sulitkan data

fungsi Encrypt-Data {

param (
    [Parameter(Mandatory=$true)]
    [String]$data,
    [Parameter(Mandatory=$true)]
    [String]$key
)

try {
    # 创建MySQL连接对象
    $connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connectionString)

    # 打开数据库连接
    $connection.Open()

    # 创建加密命令
    $command = $connection.CreateCommand()
    $command.CommandText = "SELECT AES_ENCRYPT(@data, @key)"
    $command.Parameters.AddWithValue("@data", $data)
    $command.Parameters.AddWithValue("@key", $key)

    # 执行加密命令并返回结果
    $encryptedData = $command.ExecuteScalar()

    return $encryptedData
}
finally {
    # 关闭数据库连接
    $connection.Close()
}

}

Nyahsulit data

fungsi Nyahsulit-Data {

}Contoh-Data {

}

$data = 'password123'
$key = 'secretkey'

$encryptedData = Encrypted-Data -data $data -key $key
Write-Host "Data yang disulitkan:" $encryptedData

$decrypted DataData = Decrypted DataData -encryptedData $encryptedData -key $key
Write-Host "Data yang dinyahsulit:" $decryptedData

Melalui contoh di atas, kita boleh melihat cara menggunakan skrip PowerShell untuk menyambung ke pangkalan data MySQL dan menggunakan fungsi penyulitan untuk memasukkan data ke dalam pangkalan data , dan kemudian gunakan fungsi penyahsulitan untuk mendapatkan semula data daripada pangkalan data untuk menyahsulitnya.

Kesimpulan:
Penyulitan data adalah bahagian penting dalam memastikan keselamatan data sensitif dalam aplikasi. Dengan menggabungkan fungsi penyulitan dalam pangkalan data MySQL dengan skrip PowerShell, kami boleh melaksanakan fungsi penyulitan dan penyahsulitan data dengan mudah. Ini melindungi privasi pengguna dan menghalang kebocoran data dan akses tanpa kebenaran.

Atas ialah kandungan terperinci Membangunkan dengan MySQL dan PowerShell: Bagaimana untuk melaksanakan fungsi penyulitan dan penyahsulitan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1592
276
Bagaimana untuk menambah kunci utama ke jadual yang sedia ada di MySQL? Bagaimana untuk menambah kunci utama ke jadual yang sedia ada di MySQL? Aug 12, 2025 am 04:11 AM

Untuk menambah kunci utama ke jadual yang sedia ada, gunakan pernyataan altertable dengan klausa AddPrimaryKey. 1. Pastikan lajur sasaran tidak mempunyai nilai null, tiada duplikasi dan ditakrifkan sebagai notnull; 2. Sintaks utama utama tunggal-lajur adalah nama meja altertable AddPrimaryKey (nama lajur); 3. Sintaks utama utama kombinasi Kombinasi Multi-lajur adalah nama jadual Altertable AddPrimaryKey (lajur 1, lajur 2); 4 Jika lajur membenarkan batal, anda mesti terlebih dahulu melaksanakan Modify to menetapkan notnull; 5. Setiap jadual hanya boleh mempunyai satu kunci utama, dan kunci utama lama mesti dipadamkan sebelum menambah; 6. Jika anda perlu meningkatkannya sendiri, anda boleh menggunakan Modify untuk menetapkan auto_increment. Pastikan data sebelum beroperasi

Cara Menunjukkan Semua Pangkalan Data di MySQL Cara Menunjukkan Semua Pangkalan Data di MySQL Aug 08, 2025 am 09:50 AM

Untuk memaparkan semua pangkalan data dalam MySQL, anda perlu menggunakan perintah ShowDatabases; 1. Selepas log masuk ke pelayan MySQL, anda boleh melaksanakan showdatabases; perintah untuk menyenaraikan semua pangkalan data bahawa pengguna semasa mempunyai kebenaran untuk mengakses; 2. Pangkalan data sistem seperti Maklumat_Schema, MySQL, Performance_Schema dan SYS wujud secara lalai, tetapi pengguna yang mempunyai kebenaran yang tidak mencukupi mungkin tidak dapat melihatnya; 3. Anda juga boleh menanyakan dan menapis pangkalan data melalui selectschema_namefrominformation_schema.schemata; Sebagai contoh, tidak termasuk pangkalan data sistem untuk hanya memaparkan pangkalan data yang dibuat oleh pengguna; Pastikan untuk menggunakan

Bagaimana cara menyelesaikan kesilapan sambungan mysql biasa? Bagaimana cara menyelesaikan kesilapan sambungan mysql biasa? Aug 08, 2025 am 06:44 AM

Semak sama ada perkhidmatan MySQL sedang berjalan, gunakan sudosystemctlstatusmysql untuk mengesahkan dan memulakan; 2. Pastikan alamat pengikat ditetapkan kepada 0.0.0.0 untuk membolehkan sambungan jauh dan mulakan semula perkhidmatan; 3. Sahkan sama ada pelabuhan 3306 dibuka, periksa dan konfigurasikan peraturan firewall untuk membenarkan pelabuhan; 4. Untuk ralat "Accessdenied", anda perlu menyemak nama pengguna, kata laluan dan nama hos, dan kemudian log masuk ke MySQL dan menanyakan jadual MySQL.user untuk mengesahkan kebenaran. Jika perlu, buat atau kemas kini pengguna dan membenarkannya, seperti menggunakan 'your_user'@'%'; 5. Sekiranya pengesahan hilang kerana caching_sha2_password

Cara Menyandarkan Pangkalan Data di MySQL Cara Menyandarkan Pangkalan Data di MySQL Aug 11, 2025 am 10:40 AM

Menggunakan mysqldump adalah cara yang paling biasa dan berkesan untuk menyokong pangkalan data MySQL. Ia boleh menjana skrip SQL yang mengandungi struktur meja dan data. 1. Sintaks asas ialah: mysqldump-u [nama pengguna] -p [nama pangkalan data]> backup_file.sql. Selepas pelaksanaan, masukkan kata laluan untuk menghasilkan fail sandaran. 2. Menyokong pelbagai pangkalan data dengan-pilihan-Databases: mysqldump-usoot-p-databasesdb1db2> multiple_dbs_backup.sql. 3. Menyandarkan semua pangkalan data dengan-semua-data: mysqldump-usoot-p

Terangkan strategi pengindeksan pangkalan data (mis., B-Tree, teks penuh) untuk aplikasi PHP yang disokong MySQL. Terangkan strategi pengindeksan pangkalan data (mis., B-Tree, teks penuh) untuk aplikasi PHP yang disokong MySQL. Aug 13, 2025 pm 02:57 PM

B-treeindexesareBestFormostPhpapplications, astheysupportequalityandrangequeries, sorting, andareidealforcolumnsusedinwhere, gabungan, ororderbyclauses;

Mengoptimumkan MySQL untuk Pengurusan Hubungan Pelanggan (CRM) Mengoptimumkan MySQL untuk Pengurusan Hubungan Pelanggan (CRM) Aug 06, 2025 pm 06:04 PM

ToOptimizemySqlperformanceForacrMsystem, FocusonIndexingstraties, SchemadesignBalance, andQueryeficiency.1) UsepreperIndexingByAnalyzingFrequentqueries, AddingIndexesonWhereClausecolumns, danSorder

Apakah perbezaan antara Kesatuan dan Kesatuan semua di MySQL? Apakah perbezaan antara Kesatuan dan Kesatuan semua di MySQL? Aug 14, 2025 pm 05:25 PM

Unionremovesduplicateswhileunionallkeepsallrowsincludingduplicates; 1.UnionperformSdeduplicationBySortingAndComparingRows, ReturnlyNyUniquerSults, whitmakeslowerOnlargedatasets;

Cara mengunci jadual di mysql Cara mengunci jadual di mysql Aug 15, 2025 am 04:04 AM

Jadual boleh dikunci secara manual menggunakan kunci kunci. Kunci baca membolehkan beberapa sesi dibaca tetapi tidak boleh ditulis. Kunci tulis menyediakan kebenaran baca dan tulis eksklusif untuk sesi semasa dan sesi lain tidak dapat dibaca dan ditulis. 2. Kunci hanya untuk sambungan semasa. Pelaksanaan starttransaction dan arahan lain secara tersirat akan melepaskan kunci. Selepas mengunci, ia hanya boleh mengakses jadual terkunci; 3. Hanya gunakannya dalam senario tertentu seperti penyelenggaraan jadual myisam dan sandaran data. InnoDB harus memberi keutamaan untuk menggunakan urus niaga dan kunci peringkat baris seperti pilih ... forupdate untuk mengelakkan masalah prestasi; 4. Selepas operasi selesai, unlocktables mestilah dikeluarkan secara eksplisit, jika tidak, penyumbatan sumber mungkin berlaku.

See all articles