HDEラボの桜井です。
今日はどうでもいいネタで。
Apache付属のhtpasswdコマンドが使うcryptを適当に実装してみた。
これで引数にパスワード文字列を指定して実行すると、cryptされた文字列が出てきます。
今日はどうでもいいネタで。
Apache付属のhtpasswdコマンドが使うcryptを適当に実装してみた。
import random, crypt import sys # とりあえず64文字のsaltの種を用意 saltSet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z', '0','1','2','3','4','5','6','7','8','9','.','/'] # Randomクラスのインスタンスを生成 r = random.Random() # saltを作成 salt = str(saltSet[r.randint(0, 63)]) + str(saltSet[r.randint(0, 63)]) # 引数があればcrypt if len(sys.argv) > 1: print crypt.crypt(sys.argv[1], salt)
これで引数にパスワード文字列を指定して実行すると、cryptされた文字列が出てきます。