Python で実装された Caesar 暗号アルゴリズムの例
この記事では、主に Python で実装されたシーザー暗号アルゴリズムを紹介し、シーザー暗号の概念と原理を簡単に紹介し、Python で実装されたシーザー暗号アルゴリズムの関連する定義と使用テクニックを例の形式で分析します。参考にしてください
この記事では、Python で実装された Caesar 暗号アルゴリズムについて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
はじめに
シーザー暗号は非常に古い暗号方式です。シーザーが陸を行軍し、陸で戦っていたとき、と言われています。自分の命令が敵に知られないようにするために、彼はこの特別な通信方法を使用して情報伝達の安全性を確保しました。彼の原理は最終的には非常に単純で、文字間の文字を置き換えることです。簡単な例を見てみましょう。「baidu」はシーザー暗号で暗号化され、文字列は「edlgx」になります。その原理は何ですか? 「baidu」の各文字をアルファベット順に 3 桁後方にシフトすると、その結果が先ほど見た暗号文になります。
2 番目のコード
# -*- coding:utf-8 -*- import os #==================================================================# # 凯撒密码(caesar)是最早的代换密码,对称密码的一种 # # 算法:将每个字母用字母表中它之后的第k个字母(称作位移值)替代 # #==================================================================# def encryption(): str_raw = raw_input("请输入明文:") k = int(raw_input("请输入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_encry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) < 123-k: str_list_encry[i] = chr(ord(str_list[i]) + k) else: str_list_encry[i] = chr(ord(str_list[i]) + k - 26) i = i+1 print ("加密结果为:"+"".join(str_list_encry)) def decryption(): str_raw = raw_input("请输入密文:") k = int(raw_input("请输入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_decry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) >= 97+k: str_list_decry[i] = chr(ord(str_list[i]) - k) else: str_list_decry[i] = chr(ord(str_list[i]) + 26 - k) i = i+1 print ("解密结果为:"+"".join(str_list_decry)) while True: print (u"1. 加密") print (u"2. 解密") choice = raw_input("请选择:") if choice == "1": encryption() elif choice == "2": decryption() else: print (u"您的输入有误!")
3 つの実行結果
関連する推奨事項:
以上がPython で実装された Caesar 暗号アルゴリズムの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

Pythonパラメーター注釈の代替使用Pythonプログラミングでは、パラメーターアノテーションは、開発者が機能をよりよく理解して使用するのに役立つ非常に便利な機能です...

Pythonスクリプトは、特定の場所のカーソル位置への出力をどのようにクリアしますか? Pythonスクリプトを書くときは、以前の出力をカーソル位置にクリアするのが一般的です...

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

毎日のネットワークインタラクションでPythonを使用したクラッキング検証コードの調査、検証コードは、自動化されたプログラムの悪意のある操作を防ぐための一般的なセキュリティメカニズムです...

多くの開発者はPypi(PythonPackageIndex)に依存しています...

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...
