漢字を平仮名に一括変換する際には ExcelAPI が便利

結論

excelapi.org

具体例

たとえば以下の URL にアクセスするとテキストで返ってきます(漢字部分は「織田信長」)。 - https://api.excelapi.org/language/kanji2kana?text=%E7%B9%94%E7%94%B0%E4%BF%A1%E9%95%B7

補足

ExcelAPI という名前ですが、単純な API として用いても OK とのことです。

excelapi.org

Yahoo! に同様の API がありますが、それをラップしたもののようです*1

注意点

1分間に300件までのレートリミットがあります。

*1:Yahoo! のものをそのまま扱おうとすると、戻り値が独特で扱いづらい

ファイルの読み込みロジックで Mac では OK でも Linux では NG の場合にチェックすべきこと

結論

Mac が「大文字小文字を区別しない」からではないか。

Mac が設定上で「区別しない」場合には、 Linux では該当ファイルが見つからないことになるから。

具体例

ls コマンドを実行した場合の具体例。

Linux

gyazo.com

macOS

gyazo.com

参考

dev.classmethod.jp

補足

めちゃくちゃハマったが、この知見はきっと活きる。

openssl コマンドで暗号化する際に結果が冪等になるようにする方法

結論

オプション -nosalt を付与する。

具体例

1. -nosalt を付与しない場合

一見同じ結果に見えますが、全て異なっています。

$ echo "hogehoge" | openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar
U2FsdGVkX19a4H6vBEvUMPTyd+Q7/27pFzaPQctnCfs=

$ echo "hogehoge" | openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar
U2FsdGVkX185H8E7L8WsVniwiJ3GvRImdiv3shuooj0=

$ echo "hogehoge" | openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar
U2FsdGVkX1/6b22prbaq0g2/KN0ROK1fxB8cYPtPEPU=

2. -nosalt を付与した場合

$ echo "hogehoge" | openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar -nosalt
6/9Uo+v1TK/NbZ2BO5yPtw==

$ echo "hogehoge" | openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar -nosalt
6/9Uo+v1TK/NbZ2BO5yPtw==

$ echo "hogehoge" | openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar -nosalt
6/9Uo+v1TK/NbZ2BO5yPtw==

冪等にしたい動機

冪等にしたいのは(もちろん)diff が出るようにしたいからです。現実に運用するとなると一手間かかりますが、秘匿値を Git 管理のもとで取り扱いたいときには冪等な暗号化(復号化)は有用かと思います*1

*1:ただし本当にまずいものはそもそもネットに出してはいけない

Powered by はてなブログ