Pelan pembangunan kod aplikasi
1 Keperluan Senario
Selepas ISV secara kasar mengesahkan pelan akses dan pelan penyulitannya, ia memasuki peringkat pembangunan. Anda perlu memuat turun SDK TOP terbaharu dahulu. Berikut ialah pengenalan kepada pembangunan kod, dibahagikan kepada tiga bahagian: pertama, API dalam SDK diperkenalkan, bahagian kedua ialah spesifikasi untuk pembangunan kod, dan akhirnya beberapa demo kod dalam pelbagai senario disenaraikan.
Sila ambil perhatian bahawa demi prestasi dan kestabilan, sila pastikan anda mematuhi spesifikasi kod!
2 Pengenalan Projek
2.1 APIPengenalan
Fungsi | Parameter | |
| SecurityClient (pembina)Initialization | |
securityClient.encrypt | secara automatik versi kekunci Data boleh dipindahkan secara berkelompok dan dikembalikan secara berkelompok | |
securityClient.encryptPrevious | Menyulitkan data secara automatik dengan kunci versi sebelumnya (boleh digunakan semasa pemindahan perubahan kunci) | Boleh memulangkan data masukan kelompok |
securityClient.decrypt .
| securityClient.search | |
Permulaan: SecurityClient SecurityClient = SecurityClient baharu(DefaultTaobaoClient baharu(serverUrl, appkey, appSecret), randomNumber) Nota 1: https://pelayan lalai . SecurityCl ient.isEncrypt("13888883333", taip)
Penyulitan kunci versi sebelumnya: securityClient.encryptPrevious("13888883333", taip, session, Nyahsulit: securityClient ("~CKoqAl2hWzh54uBFv9Suug==~1~", taip, sessionKey) Fasal carian kabur: "Sesi keselamatan 3" 3 PILIH * DARI table_orders DI MANA telefon SEPERTI #searchIndex#% (Contoh ini ialah nombor telefon mudah alih, contoh lain diperincikan di bawah mengikut senario)
2.panggilan srip 2.1) Semua menggunakan kunci sesi akaun utama, sub-akaun mungkin tidak mempunyai kebenaran 2) Pra-nilai kunci sesi sebelum memanggil 3) Benarkan kunci sesi pemulangan dengan masa tamat 4) Tentukan sama ada masa tamat tempoh + 90 hari kunci sesi telah melebihi Jika tamat tempoh melebihi 90 hari, tidak perlu memanggil penyulitan dan penyahsulitan (ia tidak akan berjaya sebelum kebenaran semula, yang merupakan pembaziran. sumber). Dengan mengandaikan bahawa pelanggan telah salah menilai, sebenarnya Penyulitan dan penyahsulitan panggilan mungkin menimbulkan pengecualian. Penyelesaian berikut boleh digunakan: cuba { ‐ ' off ‐ ‐ ‐ ‐ ‐‐ ‐ // Operasi penyulitan dan penyahsulitan } tangkapan (SecretException e) { // Tandai kunci sesi sebagai tidak sah, jangan panggilnya lagi sebelum kebenaran semula } } 2.3 Contoh senario kod: ) Permulaan:SecurityClient securityClient= new SecurityClient (new DefaultTaobaoClient(serverUrl, appkey, appSecret), Random Number); Client mesti menjadi Client pada masa ini adalah https/defaultUserver /eco.taobao.com/router/ rest(Persekitaran kotak pasir: https://gw.api.tbsandbox.com/router/rest) 2) Penyulitan dan penyahsulitan receiver_mobile Jenis medan yang disulitkan (jenis ) ialah telefon. Jenis medan disulitkan lain (jenis) adalah berdasarkan kaedah pertanyaan medan: jenis medan (jenis) kaedah penyulitan biasa adalah mudah dan jenis medan (jenis) pertanyaan kabur ialah carian. Menambah dan menyahsulit parameter input mesti membawa sessionkey Hasil keluaran: Teks biasa nombor telefon mudah alih: 13834566786 -> Teks disulitkan: $138$SuR++h6AtlWSj8Z59W2W9EQ==$103$ Teks disulitkan bagi nombor telefon mudah alih: $13h+W$Sutl=$13h$W9EQ 03$ -> Teks biasa: 1 3834566786 ============================= TERATAS============== ========== +
3) Tambahan dan penyahsulitan kelompok
Hasil keluaran :Nombor telefon bimbit Teks biasa: 15923847823 -> Teks sifir: $159$AtyBFui4xvl92WV7GKwfBw ==$103$ Nombor telefon mudah alih>>>$159:$1678 teks biasa: $159$1688 ++h6AtlSj8Z59W2W9EQ==$103$ Teks sifir nombor telefon mudah alih: $138$SuR++h6AtlSj8Z59W2W9EQ==$1 03$ -> ;Teks biasa: 13834566786 Teks rahsia nombor telefon bimbit $1240x=Awt$uiWB1$wl$wbfw$wbfw$w150bf=w$wv3bf: ->Teks biasa: 15923847823 ======================= =======TOP===== ================= g==~ 103~ teks Sifir nick: ~nID/f9qCBqgm7MXZSXBpfA==~103~ -> laintext: taobaoTEST1
4) Senario penyulitan biasa : Senario 1: tidak muncul dalam pernyataan SQL Dapatkan data secara langsung untuk menyahsulit dan memaparkan atau mencetak: Sifir rentetan = ReadFromDataBase(); // PILIH sifir DARI jadual... Telefon rentetan = securityClient.decrypt(sifir, “telefon”, sessionKey) ; : Scene 2: 把 perlu meletakkan medan yang disulitkan sebagai keadaan carian SQL ke dalam where (key = "value"): String cipher = SecurityClient.enCrypt (P, "Phone", sessionKey ); Ini memerlukan persediaan untuk keserasian: Pilih * dari jadual di mana telefon di ( #cipher #, #p #)
5) Support senario penyulitan pertanyaan fuzzy (
🎜🎜 🎜🎜 🎜🎜 🎜🎜 medan nombor telefon)🎜🎜: 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 Senario 1🎜🎜: 🎜Bidang nombor telefon bukan mudah alih kod pertanyaan fuzzy pertanyaan yang memerlukan kod pertanyaan fuzzy: 🎜/🜎Fragments 🎜🎜🎜String separa = "cdefg";🎜🎜
} cenario 2 : Telefon Fuzzy Query Top 3 Sample Codes: (Indeks awalan akan digunakan) // serpihan yang memerlukan pertanyaan kabur string partial = "138"; // Pergi ke pangkalan data Lakukan pertanyaan kabur
telefon 4 digit terakhir pertanyaan kabur Kod:(indeks awalan akan digunakan) //Fragmen yang memerlukan pertanyaan kabur
Soalan Lazim
|