अर्थहीन डेटा के लिए, समय के हैश और नमक हमेशा ठोस होते हैं, और आसानी से अनुमान नहीं लगाया जा सकता है (पायथन को क्षमा करें, मैंने सुना है इस रूबी चीज़ के बारे में लेकिन कभी इसे अपने हाथों में नहीं लिया):
>>> hashlib.md5(str(time.time()) + "!salt!").hexdigest()
'7a8b73fa7e0dadf246612e6001ede165'
अगर आप चाहें तो इसे छोटा करें:
>>> hashlib.md5(str(time.time()) + "!salt!").hexdigest()[:16]
'46ffb69ebc96412d'
यदि आप चाहें तो इसके बजाय एक पूर्णांक का उपयोग करें, लेकिन लंबाई में इस कोड के साथ भिन्न होने का मौका है, जब तक कि आप शून्य-पैड नहीं करते:
>>> int(hashlib.md5(str(time.time()) + "!salt!").hexdigest()[:13], 16)
1346212029197308
पहले "zomg md5 क्रिप्टो सिक्योर नहीं है":
>>> int(hashlib.sha256(str(time.time()) + "!salt!").hexdigest()[:13], 16)
1948411134966366
नरक, आपको समय का उपयोग करने की भी आवश्यकता नहीं है, जब तक आप इसे नमक करते हैं, तब तक आप एक स्वत:वृद्धिशील पूर्णांक का उपयोग कर सकते हैं:
>>> int(hashlib.sha256(str(1) + "!salt!").hexdigest()[:13], 16)
1269883740611281
>>> int(hashlib.sha256(str(2) + "!salt!").hexdigest()[:13], 16)
3655373802716929
हैश। क्या ऐसा कुछ है जो वे नहीं कर सकते करते हैं?