Entschlüsseln Sie eine unter iOS mit Python verschlüsselte Zeichenfolge

Einführung

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:

Umgebung

Verschlüsselung

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.

Bibliothek

Machen Sie ein Projekt entsprechend Bibliotheksinstallation

python


$ pod init

Podfile


pod 'CryptoSwift', '~> 0.6'

python


$ pod install

Beispielquelle

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.

Entschlüsselung

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 ...

Bibliothek

Es wird empfohlen, da Sie den Ver- und Entschlüsselungsprozess sehr einfach schreiben können.

Beispielquelle

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 ::

Schließlich

Wenn dir das gefällt, hinterlasse bitte einen Kommentar oder fordere eine Bearbeitung an!

Recommended Posts

Entschlüsseln Sie eine unter iOS mit Python verschlüsselte Zeichenfolge
Mit OpenSSL mit Python 3 verschlüsselte Dateien entschlüsseln
Ein Memo mit Python2.7 und Python3 in CentOS
Kartenmietinformationen auf einer Karte mit Python
Mit openssl verschlüsselte Dateien werden mit openssl aus Python entschlüsselt
Folium: Visualisieren Sie Daten auf einer Karte mit Python
Visualisiere grib2 auf einer Karte mit Python (matplotlib)
Kombinieren Sie sich wiederholende Zeichenfolgen mit regulären Python-Ausdrücken zu einer.
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Machen Sie mit Python einen Haltepunkt auf der c-Ebene
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Hinweise zur Beschleunigung des Python-Codes mit Numba
[Python] Verwenden Sie eine Zeichenfolgenfolge
Erstellen Sie ein Verzeichnis mit Python
String-Format mit Python% -Operator
Nehmen Sie schnell eine Abfragezeichenfolge mit API Gateway-> Lambda (Python)
[Python] Mit Scheiben umkehren! !! (Es gibt auch einen Kommentar zu Scheiben!)
Erstellen Sie eine Nachricht, die der Lokalisierung entspricht, mit einer Python-Übersetzungszeichenfolge
Holen Sie sich die passende Zeichenfolge in den regulären Ausdruck und verwenden Sie sie beim Ersetzen unter Python3 erneut
Erstellen einer Python-Umgebung auf einem Mac
[Python] Was ist eine with-Anweisung?
Löse ABC163 A ~ C mit Python
Bedienen Sie den Belegdrucker mit Python
Python-Grafikhandbuch mit Matplotlib.
Erstellen einer Python-Umgebung unter Ubuntu
Löse ABC166 A ~ D mit Python
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe mit Python eine Lotterie gemacht.
String-Ersetzung durch regulären Python-Ausdruck
Erstellen Sie ein Empfehlungssystem mit Python
Erstellen Sie eine Python-Umgebung in Centos
[Python] Generiere ein Passwort mit Slackbot
Löse ABC162 A ~ C mit Python
Hinweise zur Verwendung von rstrip mit Python.
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Erste Schritte mit Python 3.8 unter Windows
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen Sie eine zufällige Zeichenfolge in Python
[Python] Erbt eine Klasse mit Klassenvariablen
Ich habe mit Python einen Daemon erstellt
Schreiben Sie ein Batch-Skript mit Python3.5 ~
[Memo] Tweet auf Twitter mit Python
Konvertieren Sie in eine Zeichenfolge, während Sie die Standardausgabe mit dem Python-Unterprozess ausgeben
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Beachten Sie, was Sie getan haben, um Flycheck mit Python zu verwenden
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Versuchen Sie, mit Python3 eine Zeichenfolge aus einem Bild zu extrahieren
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen einer einfachen Power-Datei mit Python
[Python] Ein Programm, das Treppen mit # erstellt
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
Installieren Sie Python als Framework mit pyenv