Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mkpasswd を再実装したくなったので AIに伴走してもらいながら rekey という パ...
Search
akase244
July 21, 2026
Programming
46
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
mkpasswd を再実装したくなったので AIに伴走してもらいながら rekey という パスワードジェネレーターを作ってみた #fukuokago
「Fukuoka.go#23」でLT登壇した際のスライドです。
akase244
July 21, 2026
More Decks by akase244
See All by akase244
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
72
Let’s Encryptのフォールバック先について #ツナギメオフライン.8
akase244
0
67
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
490
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
76
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
110
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
akase244
0
99
Bashスクリプトにおけるバッチ処理の同時実行制御について #ツナギメオフライン.4
akase244
0
140
疎通・有効期限を確認するコマンド #ツナギメオフライン.3
akase244
0
110
Other Decks in Programming
See All in Programming
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
760
信頼性の目標を誰も求めてない
shubox
0
470
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
380
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
240
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
620
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
130
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
130
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
360
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
800
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
490
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
Practical Orchestrator
shlominoach
191
12k
The Spectacular Lies of Maps
axbom
PRO
1
960
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
640
Crafting Experiences
bethany
1
270
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
270
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
Agile that works and the tools we love
rasmusluckow
331
22k
Facilitating Awesome Meetings
lara
57
7.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
510
Transcript
Fukuoka.go#23 mkpasswd を再実装したくなったので AIに伴走してもらいながら rekey という パスワードジェネレーターを作ってみた July 21, 2026.
@akase244 <?php var_dump( (new Me()) ->WebApplicationEngineer() ->InfrastructureEngineer() );
@tsunagimefm https://tsunagi.me/
ツナギメエフエム 第19回、第123回 https://open.spotify.com/episode/6qBkYxuSRkOvkraeOkyZm9?si=xFy2AKdlTHSsok0mBBRypg https://open.spotify.com/episode/51m8ziy9gahfoHNEEd9J3X?si=MhMA4NP9S5y_ZMVrOh9NpQ
最初におことわり 今回、Goで実装してるんですが 本スライドではGoについての言及は ほとんど出てきません🙏 ※コンセプトの無いものを作った話をします
生成AIが登場する前 こんなツールを 作りたいなぁ と、頭の中でなんとなく設計して こうやったら作れるなぁ。。。 といったところまで考えがまとまった ら満足してしまい、手を動かすところ までに至らないことが多々ありました
生成AIが登場した後 こんなツールを 作りたいなぁ なんとなく作れそうな気がする。。。 よし、生成AIを使って作ろう!! といったことがとても気軽にできるよ うになりました
今回作りたいもの パスワード生成ツール
パスワードのルールはwebサイト毎に異なる
もっと細かく指定したい https://1password.com/jp/password-generator
ちょっと惜しい https://www.luft.co.jp/cgi/randam.php
遠い記憶 たしか、mkpasswd というコマンドが あったよな。。。 随分前の話になりますが、RHEL系の OSで expect というパッケージに含ま えれていた mkpasswd
というコマンド でパスワード文字列が生成できていた ことを思い出しました。
AlmaLinux 10(RHEL系OS) では「command not found」 $ docker container run \
--rm \ -it almalinux:10 \ bash -c ' dnf install -y -q expect >/dev/null 2>&1 && mkpasswd ' bash: line 3: mkpasswd: command not found
AlmaLinux 8 だと実行できる??? $ docker container run \ --rm \
-it almalinux:8 \ bash -c ' dnf -y -q install expect >/dev/null 2>&1 && mkpasswd ' h1%ONx1ms
AlmaLinux 9 からコマンド名が変わるという破壊的変更が $ docker container run \ --rm \
-it almalinux:9 \ bash -c ' dnf install -y -q expect >/dev/null 2>&1 && rpm -ql expect |grep '/bin/' ' /usr/bin/autoexpect ・ ・ /usr/bin/mkpasswd-expect ・ ・
Ubuntu 26.04(Debian系OS)の mkpasswd は別モノ $ docker container run \ --rm
\ -it ubuntu:26.04 \ bash -c ' export DEBIAN_FRONTEND=noninteractive apt-get update -qq && apt-get install -y -qq whois > /dev/null && mkpasswd p1a2s3s4w5o6r7d ' $y$j9T$3KtA7y5OoRERm2AgmKKQe/$M9EpCdY7bSKMGLUtCuFjEt0m9nFH.g TJ375rgF9yrpD
パスワード文字列を生成するコマンドの例 • mkpasswd(RHEL系8以前) • mkpasswd-expect (RHEL系9以降) • pwgen(RHEL系 / Debian系)
• openssl rand • /dev/urandom • gpg • apg • gpw • makepasswd
コマンドラインでパスワード文字列を生成する方法のあれこれ https://qiita.com/akase244/items/a68100ab20b4c712d90d
今回実装したかった仕様 • パスワードの文字数を指定することができる • 使用する文字を指定することができる • 除外する文字を指定することができる • 大文字を除外することができる •
小文字を除外することができる • 数字を除外することができる • 記号を除外することができる • 紛らわしい文字(0、O、1、l、I、i、!、|)を除外することができる • 同一文字の連続出力を禁止することができる • コマンド実行に「’」をエスケープするのは面倒なので「’」は使わない • spf13/cobra を使ってみたい(個人的興味)
「rekey」というパスワード生成ツールを開発 https://github.com/akase244/rekey
「rekey」というパスワード生成ツールを開発 $ rekey --help rekey - 強固なパスワードを生成するCLIツール Usage: rekey [flags]
Flags: --allow string 使用する文字を明示指定(この文字のみ使用) --deny string 除外する文字を指定(例: --deny '|"') -h, --help help for rekey ・ ・ -v, --version バージョンを表示する
実装してみた感想 マジで雑に作りたいものが作れる
おまけ①
「Fukuoka.go#20」で話した件ですが。。。 https://speakerdeck.com/akase244/gonanimowakaranaikedochatgpttogong-nijie-jue-sitaike-ti-gajie-kerukayatute mita-number-fukuokago
「Fukuoka.go#20」で話した件ですが。。。 https://speakerdeck.com/akase244/gonanimowakaranaikedochatgpttogong-nijie-jue-sitaike-ti-gajie-kerukayatute mita-number-fukuokago
実装が完了して本番環境で稼働しています https://github.com/akase244/synpack
おまけ②
@tsunagimeoff https://tsunagime-offline.connpass.com/
ツナギメオフライン ベンキョウカイ #9 https://tsunagime-offline.connpass.com/event/399691/
Thanks! Have a good programming!!