pythonでランダム文字列の生成

こんにちは。hacknoteのr.katoです。

ここ最近、パスワードの生成をpythonで行うことが増えてきたので、普段使っているランダム文字列の生成を紹介します。

import random, string

password=''.join([random.choice(string.ascii_letters + string.digits) for i in range(12)])

仕組みはいたって簡単です。

以下のstringが生成する文字列のアルファベット大文字と小文字と数字を結合し、random.choiceでランダムに一つ選ぶ。

これを12回繰り返しているだけです。

ascii_letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

digits='0123456789'

ascii_lowercase='abcdefghijklmnopqrstuvwxyz'

ascii_uppercase='ABCDEFGHIJKLMNOPQRSTUVWXYZ'