🌸 「なでしこ」
>
🍯 「貯蔵庫」
上杉暗号(字変四十八)の暗号化と復号化
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
上杉暗号(字変四十八)の暗号化と復号化 📖
戦国時代に上杉謙信が使っていた上杉暗号を作ります
プログラム:
(→大)
#---------------------------------------------------------------- # 上杉暗号(字変四十八)の暗号化と復号化 #---------------------------------------------------------------- # 詳しい解説は以下マイナビの連載にて # [URL] https://news.mynavi.jp/techplus/article/nadeshiko-74/ #---------------------------------------------------------------- #UIを作成 T平文=「おこのみやき」のテキストエリア作成。改行作成。 暗号ボタン=「上杉暗号作成↓」のボタン作成。 複号ボタン=「↑上杉暗号複号」のボタン作成。改行作成。 T暗号=「」のテキストエリア作成。改行作成。 #イベントを指定 暗号ボタンをクリックした時には A=T平文のテキスト取得。 A=Aの上杉暗号作成。 AをT暗号にテキスト設定。 ここまで。 複号ボタンをクリックした時には S=T暗号のテキスト取得。 S=Sの上杉暗号解読。 SをT平文にテキスト設定。 ここまで。 # 縦横7x7のマスに「いろはうた」を書く 変換表=[ ["い","ろ","は","に","ほ","へ","と"], ["ち","り","ぬ","る","を","わ","か"], ["よ","た","れ","そ","つ","ね","な"], ["ら","む","う","ゐ","の","お","く"], ["や","ま","け","ふ","こ","え","て"], ["あ","さ","き","ゆ","め","み","し"], ["ゑ","ひ","も","せ","す","ん"," "] ] # 漢数字←→ローマ数字の変換表 漢数字一覧=("零0一1二2三3四4五5六6七7八8九9"を文字列分解) ●(Sを)漢数字変換とは Aを0から((漢数字一覧の要素数)÷2-1)まで繰り返す Sの漢数字一覧[A*2+0]を漢数字一覧[A*2+1]に置換してSに代入。 ここまで Sを戻す ここまで ●(Sを)ローマ数字変換とは Aを0から((漢数字一覧の要素数)÷2-1)まで繰り返す Sの漢数字一覧[A*2+1]を漢数字一覧[A*2+0]に置換してSに代入。 ここまで Sを戻す ここまで ●(Sの)上杉暗号解読とは 答え=「」 S=(Sを漢数字変換) Sの「 」を「」に置換してSに代入。 # 上杉暗号を2文字1組として繰り返し取り出す Nを0から((Sの文字数)÷2-1)まで繰り返す Sで(N×2+1)から1文字抜き出してF列に代入。 Sで(N×2+2)から1文字抜き出してF行に代入。 エラー監視 I列=INT(F列)-1 I行=INT(F行)-1 C=変換表[I列][I行] # 変換表を参照 エラーならば C=「{F列}」 ここまで 答え=答え&C ここまで。 答えを戻す。 ここまで。 ●(Sの)上杉暗号作成とは #変換表を元に対応表を作る 対応辞書 = {} Yを0から6まで繰り返す Xを0から6まで繰り返す C=変換表[Y][X] 対応辞書[C] = 「{Y+1}{X+1}」 ここまで ここまで。 #濁点を消す処理 BA=(「がかぎきぐくげけごこざさじしずすぜせぞそだたぢちづつでてどとばはびひぶふべへぼほぽはぴひぷふぺへぽほ」を文字列分解) Aを0から((BAの要素数)÷2-1)まで繰り返す SのBA[A*2+0]をBA[A*2+1]に置換してSに代入。 ここまで #対応表を元に上杉暗号を出力 結果=「」 Nを1から(Sの文字数)まで繰り返す SでNから1文字抜出してCに代入。 もし、対応辞書[C]=未定義でなければ C=対応辞書[C] 違えば C=「{C}?」 ここまで。 結果=結果&C ここまで。 結果=(結果をローマ数字変換) 結果を戻す。 ここまで。
プログラムを実行
⭐ クジラ飛行机 作
(
関連URL
)
タイトル:
上杉暗号(字変四十八)の暗号化と復号化
ライセンス:
MIT (
改変可/表示
)
タイプ:
wnako
タグ:
ツール
,
暗号
利用バージョン:
3.3.68
作成日時:
2022/09/06 18:37 (編集: 2022/09/10 19:33)
公開の投稿
⭐
ログイン
して★を付けよう!
Twitterへ投稿
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
📍なでしこハブ (最新版の反映は1日後):
ソースの確認
編集履歴の確認
通報数:
0
通報って何?