Diese kryptografische Technologie enthält einen Teil meiner Studie. Wenn Sie also einen Fehler machen und dieser ihn verbessert, hinterlassen Sie bitte einen Kommentar: bow:
Dieses Mal verwenden wir die Verschlüsselung mit AES. Unabhängig davon, wie viel HTTPS-Kommunikation verwendet wird, wird das Senden und Empfangen von Kennwörtern usw. im Klartext angezeigt, sofern keine MITM-Maßnahmen angegeben sind. Lassen Sie uns zumindest verschlüsseln.
Die Implementierung erfolgt auf der iOS-Seite.
Machen Sie ein Projekt entsprechend Bibliotheksinstallation
python
$ pod init
Podfile
pod 'CryptoSwift', '~> 0.6'
python
$ pod install
Hoge.swift
import Foundation
import CryptoSwift //Zum Zeitpunkt des Schreibens hier "⌘+B "sollte getan werden
class Hoge: NSObject {
func hoge(_ text: String) {
let bytes = [UInt8](text.utf8)
//Ändern Sie jede Person gemäß der AES-Schlüsselmethode
let key = [UInt8]("12345678901234567890123456789012".utf8)
let iv: [UInt8] = AES.randomIV(AES.blockSize)
do {
let aes = try AES(key: key, iv: iv, blockMode: .CBC)
let encrypted = try aes.encrypt(bytes)
let encryptedData = Data(bytes: encrypted, count: encrypted.count)
let sendData = NSMutableData(bytes: iv, length: iv.count)
sendData.append(encryptedData)
let sendDataBase64 = sendData.base64EncodedString(options: .lineLength64Characters)
print("Encrypt: \(sendDataBase64)")
// Encrypt: rLKCA1hNmqu2dq+08E9mK2lBlspQN0+CYBkWkCQz7IvHhh+qbfysc26Oh1SS4Adq
} catch let error {
print("Error: \(error)")
}
}
}
Ich glaube, ich konnte es so verschlüsseln. Die diesmal verwendete Zeichenfolge lautet "Lorem ipsum dolor sit amet". Danach fliegt Alamofire zum Server. Ich werde es weglassen.
Grundsätzlich verwende ich Django, wenn ich eine Serverseite erstelle, die anscheinend verschlüsselt werden muss, aber ich berühre nicht den Teil, der Django eigen ist, also ist es nicht schlecht ...
Es wird empfohlen, da Sie den Ver- und Entschlüsselungsprozess sehr einfach schreiben können.
decrypt.py
from simple_aes_cipher import AESCipher
encrypt = 'rLKCA1hNmqu2dq+08E9mK2lBlspQN0+CYBkWkCQz7IvHhh+qbfysc26Oh1SS4Adq'
cipher = AESCipher('12345678901234567890123456789012')
plain_text = cipher.decrypt(encrypt)
print(plain_text) # Lorem ipsum dolor sit amet
Es scheint, dass es erfolgreich entschlüsselt wurde: clap :: clap :: clap ::
Wenn dir das gefällt, hinterlasse bitte einen Kommentar oder fordere eine Bearbeitung an!
Recommended Posts