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された文字列が出てきます。




Leave a comment