English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
前書き
最初はWindowsでpythonをインストールしようとしました。3.6、pythonはインストールが成功しましたが、pipを使ってCrytoモジュールをインストールしようとしました。3 pycryptoをインストールするときは常にエラーが発生します。結局、linuxでインストールすることに決めました。
以下流程限于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に名前を変更しました。すると使えるようになりました...
(私がダウンロードしたのはインストール不要版で、VSをインストールしていませんでした)2008。私はpipを使用して、Cryptoをダウンロードできませんでした。Windowsでこれらのモジュールをインストールするのは本当に厄介です。もし私のコンピュータがもう少し良ければ、双方向システムを導入しようと考えました...話はそれでは...
0x00 pythonをインストール
apt-get install python3.6
0x01 pipをインストール3
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 インストール Crypto pip3 インストール --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) # 加工する必要がある文字列を入力してください。16の倍数。16,32,48.. print s # 加工後の文字列 print base64.b64encode(s) # 加工後の文字列のbase64エンコード。 print cipher.decrypt(s) # 解密
これは初めての初心者(私)が理解しやすいように作られており、一般的な処理方法については以下を参照してください:https://ja.oldtoolbag.com/article/114364.htm
なぜ既に暗号化された文字列を再度base64エンコードでは、私は文字列の処理が二進数に基づいていると考えていますが、base64の原理は、それぞれの6の前に2つの0を追加することです。これにより、処理された文字列のASCIIコードがすべて可視になります(少なくとも、疑問符文字などではありません..)。charsetモジュールでテストしてみると、私が言った通りです。
DESアルゴリズムの使用はAESの使用と同じですが、注意すべき点は初期パスワード文字列が8場所にAESをDESに置き換えるだけで済みます(環境設定のことを思い出さなければ、Pythonはとても便利です..)
このCryptoモジュールにはハッシュアルゴリズムや他の暗号化アルゴリズムもあります。このモジュールを深く探求した神様や仲間がいれば、以下にコメントをお願いします。また、私にも使い方を教えていただけると嬉しいです、ありがとうございます。
これでこの記事はすべて終わりです。皆様の学習に役立つことを願っています。また、呐喊教程を多くのサポートをお願いします。
声明:この記事の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしたものであり、このサイトは所有権を持ちません。また、人工的に編集されていないため、関連する法的責任を負いません。著作権侵害を疑う内容がある場合は、以下のメールアドレスまでご連絡ください:notice#oldtoolbag.com(メールを送信する際、#を@に置き換えてください。通報を行い、関連する証拠を提供してください。一旦確認がとれましたら、このサイトは即座に侵害疑いのコンテンツを削除します。)