English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Introduzione
All'inizio ho voluto provare a installare Python 3.6 su Windows, anche se l'installazione di Python è stata completata con successo, durante l'installazione del modulo Cryto con pip3 install pycrypto, continuavo a ricevere errori. Dopo aver speso molto tempo, ho deciso di farlo su Linux.
Il seguente flusso è limitato ai sistemi Linux:
Crypto non è un modulo integrato, è necessario scaricarlo.http://www.voidspace.org.uk/python/modules.shtml#pycrypto
Dopo averlo scaricato, ho scoperto che ho scaricato crypto invece di Crypto (solo una differenza di maiuscole e minuscole)
Ma crypto.Cipher non può essere eseguito e viene visualizzato un errore, infine:https://stackoverflow.com/questions/31485110/no-module-named-crypto-cipher/31485157 Per trovare la soluzione, è necessario rinominare il file crypto situato in Python27\Lib\site-packages, ovviamente, semplicemente rinominarlo in Crypto. A questo punto, funziona correttamente...
(Poiché ho scaricato la versione senza installazione, non ho installato VS2008. Ho usato pip, ma non sono stato in grado di scaricare Crypto) Installare questi moduli su Windows è davvero un fastidio, se il mio computer fosse migliore, avrei installato un dual boot... Mi sono discostato un po'...
0x00 Installa python
apt-get install python3.6
0x01 Installa pip3
1. Prima di tutto, installa setuptool
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26 tar -zxvf setuptools-19.6.tar.gz cd setuptools-19.6.tar.gz python3 setup.py build python3 setup.py install
2. Poi installa pip e risolvi il problema
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb tar -zxvf pip-8.0.2.tar.gz cd pip-8.0.2 python3 setup.py build python3 setup.py install
0x02 Installa crypto
apt-get install python3-dev pip3 install Crypto pip3 install --upgrade pycrypt
Di seguito, presentiamo l'algoritmo AES di Crypto.Cipher.
Ecco il codice:
from Crypto.Cipher import AES import base64 secret = "12345678912345678912345678912345" # Stringa di password iniziale di lunghezza 16, 24 o 32 bit inserita dall'utente cipher = AES.new(secret) # Crea un oggetto cipher utilizzando la stringa di password iniziale AES, e restituisce l'oggetto cipher s = cipher.encrypt("1234567891234567") # Inserisci la stringa da crittografare, nota che la lunghezza della stringa deve essere un multiplo di 16. 16, 32, 48... print s # Outputta la stringa crittografata print base64.b64encode(s) # Outputta la stringa crittografata in encoding base64. print cipher.decrypt(s) # Decrittografia
Questo è per i principianti (io) che iniziano, un metodo di trattamento generale può essere consultato a https://it.oldtoolbag.com/article/114364.htm
Perché si deve utilizzare nuovamente l'encoding base64 per la stringa crittografata, penso che il trattamento della stringa sia basato su binario, e il principio di base64 è di aggiungere due zero all'inizio di ogni 6 numeri binari, così l'encoding ascii del stringa trattata diventa visibile (almeno non quei caratteri di domanda...), testato con il modulo charset, scoprendo che è esattamente come ho detto.
L'algoritmo DES è utilizzato allo stesso modo dell'AES, ma occorre prestare attenzione a mantenere la stringa di inizializzazione del密码 a 8 caratteri, e in altri luoghi sostituire AES con DES (se non ricordi le cose di configurazione dell'ambiente, Python è molto conveniente...)
Questo modulo Crypto ha anche algoritmi di hash e altri algoritmi di crittografia, se qualcuno o un amico lo esplora, è benvenuto a lasciare un commento qui sotto, e in顺便也教我使用一下,谢谢大家啦
Questo è tutto il contenuto dell'articolo, spero che sia utile per la tua apprendimento, e ti prego di supportare e urlare la guida.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta agli autori, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato elaborato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare e fornire prove pertinenti. Una volta verificata, questo sito rimuoverà immediatamente il contenuto sospetto di violazione del copyright.