English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Préambule
Au début, j'ai pensé à essayer d'installer Python sous Windows3.6Bien que l'installation de Python soit réussie, lors de l'installation du module Cryto avec pip3 L'installation de pycrypto génère souvent des erreurs. Après avoir essayé pendant un moment, j'ai finalement décidé de procéder sous Linux.
Le processus suivant est limité aux systèmes Linux :
Crypto不是自带的模块,需要下载。http://www.voidspace.org.uk/python/modules.shtml#pycrypto
我下载了之后,发现下载的是crypto而不是Crypto(就是差个首字母大小写)
而crypto.Cipher而又不能运行,报错,最后在:https://stackoverflow.com/questions/31485110/no-module-named-crypto-cipher/31485157 找到解答,需要在python目录里面把Python27\Lib\site-packages下的crypto文件改名,没错,就是直接改成Crypto。结果就能用了...
(因为我上面下载的是免安装版,所以没安装VS2008。我用过pip,下载不了Crypto)windows下安装这些模块真是招罪,要是我的电脑再好一点就弄双系统了..扯远了..
0x00 安装python
apt-get install python3.6
0x01 安装pip3
1.首先安装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.然后直接安装pip就搞定了
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 安装crypto
apt-get install python3-dev pip3 install Crypto pip3 install --upgrade pycrypt
下面主要介绍一下Crypto.Cipher的AES算法。
代码如下:
from Crypto.Cipher import AES import base64 secret = "12345678912345678912345678912345" #由用户输入的16位或24位或32位长的初始密码字符串 cipher = AES.new(secret) #通过AES处理初始密码字符串,并返回cipher对象 s = cipher.encrypt("1234567891234567") #Entrée de la chaîne de caractères à crypter, notez que la longueur de la chaîne doit être16Multiples.16,32,48.. print s #Sortie de la chaîne de caractères cryptée print base64.b64encode(s) #Sortie de la chaîne de caractères cryptée en base64Encodage. print cipher.decrypt(s) #Déchiffrement
C'est pour que les débutants (moi) puissent comprendre, une méthode de traitement générale peut être consultée à https://fr.oldtoolbag.com/article/114364.htm
Pourquoi il faut utiliser base64Encodage, je pense que le traitement des chaînes de caractères est basé sur le binaire, et base64Le principe est de chaque6Ajouter deux zéros à l'avant d'un nombre binaire, de sorte que l'encodage ascii du chaîne traitée est visible en totalité (au moins ce ne sont pas tous ces caractères de questionnement ...), testez-le avec le module charset, et découvre que c'est comme je l'ai dit.
L'algorithme DES est utilisé de la même manière que AES, mais il faut noter que la chaîne de caractères initiale doit être8Le, et d'autres remplacez AES par DES (si vous ne vous souvenez pas des choses de configuration de l'environnement, Python est toujours très pratique ...)
Ce module Crypto contient également d'autres algorithmes de cryptage tels que l'algorithme de hachage, si des experts ou des amis l'explorent, n'hésitez pas à laisser un message ci-dessous, et apprenez-moi également à l'utiliser, merci à tous
C'est tout pour cet article, j'espère que cela aidera à votre apprentissage, et j'espère que vous soutiendrez également le tutoriel d'alerte.
Déclaration : Le contenu de cet article est tiré d'Internet, propriété intellectuelle de ses auteurs respectifs, le contenu est apporté par les utilisateurs d'Internet de manière volontaire et auto-chargée, ce site n'a pas de propriété, n'a pas été traité par l'éditeur humain et n'assume aucune responsabilité juridique. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.)