Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
mkpasswd を再実装したくなったので AIに伴走してもらいながら rekey という パ...
Search
akase244
July 21, 2026
Programming
56
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 のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
160
Let’s Encryptのフォールバック先について #ツナギメオフライン.8
akase244
0
81
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
650
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
88
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
130
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
akase244
0
110
Bashスクリプトにおけるバッチ処理の同時実行制御について #ツナギメオフライン.4
akase244
0
150
Other Decks in Programming
See All in Programming
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
Workers Cache を知る
syumai
0
340
Rでドレミ/Do-Re-Mi_with_R
florets1
0
120
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
310
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
350
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
7
1.9k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
Featured
See All Featured
KATA
mclloyd
PRO
35
16k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Why Our Code Smells
bkeepers
PRO
340
58k
Mind Mapping
helmedeiros
1
390
Facilitating Awesome Meetings
lara
57
7.2k
Everyday Curiosity
cassininazir
0
340
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
WCS-LA-2024
lcolladotor
0
850
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
540
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!!