§

Bcrypt ਜਨਰੇਟਰ

§

Bcrypt ਹੈਸ਼ ਜਨਰੇਟ ਕਰੋ

10 (1,024 rounds)

Bcrypt ਪੰਜਾਬ ਅਤੇ ਭਾਰਤ ਦੇ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ ਪਾਸਵਰਡ ਸਟੋਰੇਜ਼ ਦਾ ਮਿਆਰ ਹੈ। Rails ਦਾ has_secure_password bcrypt ਵਰਤਦਾ ਹੈ, Django ਅਤੇ Node.js ਵਿੱਚ ਵੀ bcrypt ਉਪਲਬਧ ਹੈ। NIST SP 800-63B ਪਾਸਵਰਡ ਸਟੋਰੇਜ਼ ਲਈ ਮੈਮੋਰੀ-ਹਾਰਡ ਹੈਸ਼ਿੰਗ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ, ਅਤੇ OWASP bcrypt ਨੂੰ Argon2id ਦੇ ਨਾਲ ਇੱਕ ਤਰਜੀਹੀ ਵਿਕਲਪ ਵਜੋਂ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ। ਕੋਸਟ ਫੈਕਟਰ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇੱਕ ਹੈਸ਼ ਬਣਾਉਣ ਵਿੱਚ ਕਿੰਨਾ ਸਮਾਂ ਲੱਗੇਗਾ — ਕੋਸਟ 10 (2^10 = 1024 ਰਾਊਂਡ) ਮੌਜੂਦਾ ਸਿਫ਼ਾਰਸ਼ ਕੀਤਾ ਘੱਟੋ-ਘੱਟ ਹੈ, ਜਦਕਿ 12 (4096 ਰਾਊਂਡ) ਐਡਮਿਨ ਪੋਰਟਲ ਅਤੇ ਵਿੱਤੀ ਸਿਸਟਮਾਂ ਲਈ ਢੁਕਵਾਂ ਹੈ। ਇਹ ਟੂਲ ਪੂਰੀ ਤਰ੍ਹਾਂ JavaScript ਰਾਹੀਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ, ਇਸ ਲਈ ਪਾਸਵਰਡ ਕਦੇ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਜਾਂਦੇ।

Bcrypt ਕੀ ਹੈ?

Blowfish ਸਾਈਫਰ 'ਤੇ ਅਧਾਰਤ, Niels Provos ਅਤੇ David Mazières ਦੁਆਰਾ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਇੱਕ ਪਾਸਵਰਡ-ਹੈਸ਼ਿੰਗ ਫੰਕਸ਼ਨ ਹੈ Bcrypt। MD5 ਜਾਂ SHA-256 ਵਰਗੇ ਤੇਜ਼ ਡਾਇਜੈਸਟਾਂ ਦੇ ਉਲਟ, bcrypt ਜਾਣਬੁੱਝ ਕੇ ਹੌਲੀ ਅਤੇ ਕੰਪਿਊਟੇਸ਼ਨਲੀ ਮਹਿੰਗਾ ਹੈ — ਇਹ ਚੋਰੀ ਕੀਤੇ ਪਾਸਵਰਡ ਹੈਸ਼ਾਂ ਦੇ ਵਿਰੁੱਧ ਬ੍ਰੂਟ-ਫੋਰਸ ਹਮਲਿਆਂ ਨੂੰ ਅਵਿਵਹਾਰਕ ਬਣਾਉਂਦਾ ਹੈ। Bcrypt ਆਪਣੇ ਆਪ ਹਰੇਕ ਪਾਸਵਰਡ ਲਈ ਇੱਕ ਰੈਂਡਮ ਸਾਲਟ ਜਨਰੇਟ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕੋ ਪਾਸਵਰਡ ਵੀ ਵੱਖ-ਵੱਖ ਹੈਸ਼ ਪੈਦਾ ਕਰਦੇ ਹਨ।

Bcrypt ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?

Bcrypt ਐਲਗੋਰਿਦਮ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ। ਇੱਥੇ ਕਦਮ-ਦਰ-ਕਦਮ ਦੱਸਿਆ ਗਿਆ ਹੈ:

  1. ਤੁਹਾਡਾ ਪਾਸਵਰਡ UTF-8 ਬਾਈਟਾਂ ਵਜੋਂ ਐਨਕੋਡ ਹੁੰਦਾ ਹੈ ਅਤੇ bcrypt ਕੀ ਸ਼ਡਿਊਲ ਵਿੱਚ ਫੀਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੋ ਪਾਸਵਰਡ ਅਤੇ ਸਾਲਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ Blowfish ਸਾਈਫਰ ਦੇ 4,184-ਬਾਈਟ P-ਐਰੇ ਅਤੇ S-ਬਾਕਸਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
  2. ਇੱਕ ਰੈਂਡਮ 128-ਬਿਟ ਸਾਲਟ ਜਨਰੇਟ ਹੁੰਦਾ ਹੈ। ਸਾਲਟ ਕੀ ਸ਼ਡਿਊਲ ਵਿੱਚ ਮਿਲਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਹਰੇਕ ਵਿਲੱਖਣ ਸਾਲਟ ਇੱਕੋ ਪਾਸਵਰਡ ਲਈ ਵੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰਾ ਹੈਸ਼ ਪੈਦਾ ਕਰੇ।
  3. ਕੀ ਸ਼ਡਿਊਲ 2^cost ਰਾਊਂਡਾਂ ਲਈ (ਜਿਵੇਂ, ਕੋਸਟ 10 'ਤੇ 2^10 = 1,024 ਦੁਹਰਾਓ) ਦੁਹਰਾਇਆ ਜਾਂਦਾ ਹੈ। ਹਰੇਕ ਦੁਹਰਾਓ ਸਾਲਟ ਅਤੇ P-ਐਰੇ ਐਂਟਰੀਆਂ ਨੂੰ ਮੁੜ-ਐਨਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ, ਜੋ ਕੋਸਟ ਵਧਣ ਨਾਲ ਗਣਨਾ ਨੂੰ ਅਨੁਪਾਤ ਵਿੱਚ ਹੌਲੀ ਕਰ ਦਿੰਦਾ ਹੈ।
  4. ਅੰਤਿਮ ਆਉਟਪੁੱਟ $2b$<cost>$<salt><hash> ਫਾਰਮੈਟ ਵਿੱਚ 60-ਅੱਖਰਾਂ ਦੀ ਸਟ੍ਰਿੰਗ ਹੈ, ਜਿੱਥੇ cost ਜ਼ੀਰੋ-ਪੈਡਡ (ਜਿਵੇਂ, 10), salt 22 Base64 ਅੱਖਰ, ਅਤੇ hash 31 Base64 ਅੱਖਰ ਹਨ।
  5. ਤਸਦੀਕ ਲਈ, ਉਹੀ ਐਲਗੋਰਿਦਮ ਉਮੀਦਵਾਰ ਪਾਸਵਰਡ ਅਤੇ ਸਟੋਰ ਕੀਤੇ ਹੈਸ਼ ਤੋਂ ਕੱਢੇ ਗਏ ਸਾਲਟ ਨਾਲ ਮੁੜ-ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਜੇ ਪ੍ਰਾਪਤ ਹੈਸ਼ ਸਟੋਰ ਕੀਤੇ ਹੈਸ਼ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਤਾਂ ਪਾਸਵਰਡ ਸਹੀ ਹੈ।

ਮੈਨੂੰ ਕਿਹੜਾ ਕੋਸਟ ਫੈਕਟਰ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ?

ਕੋਸਟ ਫੈਕਟਰ ਦੁਹਰਾਓ ਦੀ ਗਿਣਤੀ ਦਾ ਲਘੂਗਣਕ ਹੈ — ਕੋਸਟ 10 ਦਾ ਮਤਲਬ 2^10 = 1,024 ਰਾਊਂਡ, ਕੋਸਟ 12 ਦਾ ਮਤਲਬ 4,096 ਰਾਊਂਡ। ਆਪਣੀਆਂ ਸੁਰੱਖਿਆ ਲੋੜਾਂ ਅਤੇ ਹਾਰਡਵੇਅਰ ਦੇ ਅਧਾਰ 'ਤੇ ਚੁਣੋ:

  • ਕੋਸਟ 4-6 (16-64 ਰਾਊਂਡ) — ਸਿਰਫ ਡਿਵੈਲਪਮੈਂਟ ਅਤੇ ਟੈਸਟਿੰਗ ਲਈ। ਪ੍ਰੋਡਕਸ਼ਨ ਵਰਤੋਂ ਲਈ ਬਹੁਤ ਤੇਜ਼; ਘੱਟੋ-ਘੱਟ ਸੁਰੱਖਿਆ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  • ਕੋਸਟ 8 (256 ਰਾਊਂਡ) — ਗੈਰ-ਨਾਜ਼ੁਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਘੱਟੋ-ਘੱਟ ਸੀਮਾ। ਆਧੁਨਿਕ ਹਾਰਡਵੇਅਰ 'ਤੇ ਲਗਭਗ 6ms।
  • ਕੋਸਟ 10 (1,024 ਰਾਊਂਡ) — ਮੌਜੂਦਾ ਸਿਫ਼ਾਰਸ਼ ਕੀਤਾ ਅਧਾਰ ਰੇਖਾ। ਲਗਭਗ 25ms ਲੱਗਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਢੁਕਵਾਂ।
  • ਕੋਸਟ 12 (4,096 ਰਾਊਂਡ) — ਐਡਮਿਨ ਪੋਰਟਲ, ਵਿੱਤੀ ਸਿਸਟਮ ਅਤੇ ਉੱਚ-ਸੁਰੱਖਿਆ ਐਪਾਂ ਲਈ ਸਿਫ਼ਾਰਸ਼। ਲਗਭਗ 100ms ਲੱਗਦਾ ਹੈ।
  • ਕੋਸਟ 14 (16,384 ਰਾਊਂਡ) — ਉੱਚ ਸੁਰੱਖਿਆ। ਲਗਭਗ 400ms ਲੱਗਦਾ ਹੈ। ਮਾਸਟਰ ਪਾਸਵਰਡ, ਐਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ, ਜਾਂ ਜਦੋਂ ਲੌਗਇਨ ਲੇਟੈਂਸੀ ਸਵੀਕਾਰਯੋਗ ਹੋਵੇ ਤਾਂ ਵਰਤੋ।

ਇਸ bcrypt ਜਨਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕਰੀਏ?

  • ਤੁਹਾਡੀ ਪਰਦੇਦਾਰੀ ਸੁਰੱਖਿਅਤ ਹੈ — ਹਰ ਪਾਸਵਰਡ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਹੈਸ਼ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਕੋਈ ਡੇਟਾ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਜਾਂਦਾ।
  • ਤੁਹਾਨੂੰ ਦੋਵੇਂ ਮੋਡ ਇਕੱਠੇ ਮਿਲਦੇ ਹਨ: ਪੇਜ ਬਦਲੇ ਬਿਨਾਂ ਨਵੇਂ ਹੈਸ਼ ਜਨਰੇਟ ਕਰੋ ਜਾਂ ਮੌਜੂਦਾ ਹੈਸ਼ਾਂ ਦੀ ਤਸਦੀਕ ਕਰੋ।
  • ਕੋਸਟ ਫੈਕਟਰ 4 (ਤੇਜ਼) ਤੋਂ 15 (ਬਹੁਤ ਹੌਲੀ) ਤੱਕ ਅਡਜੱਸਟੇਬਲ ਹੈ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਸੁਰੱਖਿਆ ਲੋੜਾਂ ਨਾਲ ਮੇਲ ਕਰ ਸਕੋ।
  • ਹੈਸ਼ ਮਿਆਰੀ $2b$ ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ ਜੋ ਹਰ ਪ੍ਰਮੁੱਖ ਭਾਸ਼ਾ ਅਤੇ ਫਰੇਮਵਰਕ ਦੇ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ।

Bcrypt ਦੇ ਆਮ ਉਪਯੋਗ ਕੀ ਹਨ?

ਉਦਯੋਗ ਵਿੱਚ ਪਾਸਵਰਡ ਸਟੋਰੇਜ ਅਤੇ ਤਸਦੀਕ ਲਈ Bcrypt ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:

  • ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰਮਾਣੀਕਰਨ — ਡੇਟਾਬੇਸ ਵਿੱਚ ਉਪਭੋਗਤਾ ਪਾਸਵਰਡ ਹੈਸ਼ ਸਟੋਰ ਕਰਨਾ ਤਾਂ ਜੋ ਪਲੇਨਟੈਕਸਟ ਪਾਸਵਰਡ ਕਦੇ ਨਾ ਸੇਵ ਹੋਣ।
  • API ਕੁੰਜੀ ਹੈਸ਼ਿੰਗ — ਸਟੋਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ API ਰਾਜ਼ਾਂ ਨੂੰ ਹੈਸ਼ ਕਰਨਾ, ਤਾਂ ਜੋ ਡੇਟਾਬੇਸ ਉਲੰਘਣਾ ਵੈਧ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਲੀਕ ਨਾ ਕਰੇ।
  • ਮਾਈਗ੍ਰੇਸ਼ਨ ਆਡਿਟਿੰਗ — ਇਹ ਜਾਂਚ ਕਰਨਾ ਕਿ ਪੁਰਾਣੇ ਸਿਸਟਮ ਦੇ ਲੀਗਸੀ ਪਾਸਵਰਡ ਹੈਸ਼ ਆਥ ਲੇਅਰ ਅਪਗ੍ਰੇਡ ਕਰਨ ਤੋਂ ਬਾਅਦ ਵੀ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦੇ ਹਨ।

Bcrypt ਹੈਸ਼ ਕਿਹੋ ਜਿਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ?

ਪਾਸਵਰਡ hunter2 ਨੂੰ ਕੋਸਟ ਫੈਕਟਰ 10 ਨਾਲ ਹੈਸ਼ ਕਰਨ ਨਾਲ $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy ਵਰਗੀ ਸਟ੍ਰਿੰਗ ਮਿਲਦੀ ਹੈ। ਫਾਰਮੈਟ ਇਸ ਤਰ੍ਹਾਂ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ: $2b$ (ਐਲਗੋਰਿਦਮ ਵਰਜਨ), 10 (ਕੋਸਟ ਫੈਕਟਰ), $, ਫਿਰ 22 ਅੱਖਰਾਂ ਦਾ ਸਾਲਟ ਅਤੇ 31 ਅੱਖਰਾਂ ਦਾ ਹੈਸ਼, ਸਾਰੇ Base64-ਐਨਕੋਡਡ। ਰੈਂਡਮ ਸਾਲਟ ਦੇ ਕਾਰਨ ਇੱਕੋ ਪਾਸਵਰਡ ਨਾਲ ਹਰ ਰਨ ਵੱਖਰਾ ਹੈਸ਼ ਪੈਦਾ ਕਰਦਾ ਹੈ।

ਇਹ bcrypt ਜਨਰੇਟਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਸ਼ੁੱਧ-JavaScript ਲਾਗੂਕਰਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚੱਲਦਾ ਹੈ। ਪਾਸਵਰਡ ਸਟੋਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹੈਸ਼ ਕਰੋ, ਮੌਜੂਦਾ ਹੈਸ਼ਾਂ ਦੀ ਤਸਦੀਕ ਕਰੋ, ਅਤੇ ਕੋਸਟ ਫੈਕਟਰ ਨੂੰ ਆਪਣੀਆਂ ਸੁਰੱਖਿਆ ਲੋੜਾਂ ਅਨੁਸਾਰ ਟਿਊਨ ਕਰੋ — ਬਿਨਾਂ ਇੱਕ ਵੀ ਬਾਈਟ ਸਰਵਰ ਨੂੰ ਭੇਜੇ।