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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
akase244
July 21, 2026
Programming
60
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
TOTP(Time-based One-Time Password) を コマンドラインで実行してみる #ツナギメオフライン.10
akase244
0
9
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
160
Let’s Encryptのフォールバック先について #ツナギメオフライン.8
akase244
0
82
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
680
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
93
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
170
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
akase244
0
110
Other Decks in Programming
See All in Programming
phperだってパンチカードでコーディングしたい
o0h
PRO
0
470
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
150
Kotlinの15年とServer-Side Kotlin
n_takehata
1
170
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
160
No More NoSuchMethodError
exoego
1
120
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
3
570
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
340
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
240
Groovy as a human and AI friendly programming language
paulk
0
120
Jetpack Compose Mechanisms
skydoves
3
880
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
940
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
The Cult of Friendly URLs
andyhume
79
7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Technical Leadership for Architectural Decision Making
baasie
3
610
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
First, design no harm
axbom
PRO
2
1.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
450
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!!