擬似ランダムジェネレータを文字列で初期化したいと考えています。言って、random.seed('Lorem ipsum')
のようなものを書くことができたらいいですか?擬似ランダムジェネレータを文字列で初期化する
文字列(任意の英数字文字列)を整数で変換する関数が必要です。それを行うための標準的な方法はありますか?
擬似ランダムジェネレータを文字列で初期化したいと考えています。言って、random.seed('Lorem ipsum')
のようなものを書くことができたらいいですか?擬似ランダムジェネレータを文字列で初期化する
文字列(任意の英数字文字列)を整数で変換する関数が必要です。それを行うための標準的な方法はありますか?
:
random.seed(a=None)
[...]なしまたはint型ではないではないか、長い間、その後、ハッシュ(A)が使用されている場合は代わりに
ますので、 はを使用random.seed("Lorem ipsum")
はrandom.seed(hash("Lorem ipsum"))
と同じになります
ドミトリーの提案だけでなく、組み込みのhash
機能だけでなく、 python2 docsから
print(hash('lorem ipsum'))` # 1163776412
安全なハッシュの場合文字列が必要な場合は、ここに例を示します。 でより安全なハッシュ関数here
import random
import hashlib
def md5hash(aString):
#hash string using FIPS secure hash algorithm (sha256)
h = hashlib.sha256(aString)
#Convert to numeric
n = int(h.hexdigest(),base=16)
return n
s = 'Lorem ipsum'
h = md5hash(s)
random.seed(h)
print random.randint(1,h)
のPython 2.7.9(デフォルト、2014年12月10日、午前12時24分55秒)のWin32 種類【MSC v.1500 32ビット(インテル)]「著作権"、"クレジット "または" license() "を参照してください。
================================ RESTART ========= =======================
55515536588238178253973576746556262163439168431854287257541058247489753668463
整数の文字列(任意の英数字の文字列)をマッピングする関数 - 任意のハッシュ関数、すなわち 'md5'と' hexdigest() '? – Dmitry
ありがとうございます。ハッシュ関数は必要な概念です。 (私はプログラマーではありません) –