Pythonでhtpasswd実装のメモを残してみる

| | Comments (0) | TrackBacks (0)
HDEラボの桜井です。
今日はどうでもいいネタで。

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

0 TrackBacks

Listed below are links to blogs that reference this entry: Pythonでhtpasswd実装のメモを残してみる.

TrackBack URL for this entry: http://lab.hde.co.jp/blog/mt-tb.cgi/92

Leave a comment

About this Entry

This page contains a single entry by Takeshi SAKURAI published on February 10, 2009 6:53 PM.

TwistedでCGIの動くWebサーバを書いてみる、にBasic認証機能を追加してみる was the previous entry in this blog.

vim上でpythonコードをデバッグする is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.