ਤੁਹਾਨੂੰ ਕਿਸੇ ਉਪਭੋਗਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਸਮੇਂ ਜਾਂ ਅਜਿਹਾ ਕੁਝ ਕਰਦੇ ਸਮੇਂ ਕਦੇ ਵੀ ਸਾਦੇ ਲਿਖਤ ਵਿੱਚ ਪਾਸਵਰਡ ਨਹੀਂ ਰੱਖਣਾ ਚਾਹੀਦਾ।
ਕਿਉਂਕਿ ਬਹੁਤ ਸਾਰੇ ਵਿਅਕਤੀ ਇੱਕੋ ਪਾਸਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, ਜੇਕਰ ਕਿਸੇ ਹਮਲਾਵਰ ਨੂੰ ਅਣ-ਏਨਕ੍ਰਿਪਟਡ ਪਾਸਵਰਡਾਂ ਦੇ ਡੇਟਾਬੇਸ ਦੀ ਖੋਜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਲਿੰਕ ਕੀਤੀ ਵੈਬਸਾਈਟ ਜਾਂ ਖਾਤੇ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਲਈ ਮੇਲ ਖਾਂਦੀਆਂ ਈਮੇਲਾਂ ਦੇ ਨਾਲ ਜੋੜ ਕੇ ਆਸਾਨੀ ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਹੋਰ ਖਾਤਿਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਪਾਸਵਰਡ ਅੱਜ ਅਕਸਰ ਹੈਸ਼ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਜਦੋਂ ਇੱਕ ਪਾਸਵਰਡ ਸਪਲਾਈ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਨਮਕ ਦੇ ਨਾਲ ਹੈਸ਼ ਕਰਨ ਦੀ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਨਮਕ ਨੂੰ ਹੈਸ਼ ਕੀਤੇ ਪਾਸਵਰਡ ਦੇ ਨਾਲ ਰੱਖੋ।
ਸਲਟਿੰਗ ਹੈਸ਼ ਬ੍ਰਾਊਨ ਲਈ ਇੱਕ ਵਿਅੰਜਨ ਵਿੱਚ ਇੱਕ ਕਦਮ ਵਰਗਾ ਜਾਪਦਾ ਹੈ, ਪਰ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਵਿੱਚ, ਇਹ ਹੈਸ਼ ਫੰਕਸ਼ਨ ਦੇ ਇਨਪੁਟ ਵਿੱਚ ਬੇਤਰਤੀਬ ਡੇਟਾ ਨੂੰ ਜੋੜਨ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ ਕਿ ਹੈਸ਼ ਹਮੇਸ਼ਾ ਇੱਕ ਵਿਲੱਖਣ ਨਤੀਜਾ ਪ੍ਰਦਾਨ ਕਰੇਗਾ ਭਾਵੇਂ ਇਨਪੁਟਸ ਇੱਕੋ ਜਿਹੇ ਹੋਣ।
ਨਤੀਜੇ ਵਜੋਂ, ਨਮਕ ਨੂੰ ਜੋੜ ਕੇ ਬਣਾਇਆ ਗਿਆ ਵਿਲੱਖਣ ਹੈਸ਼ ਸਾਨੂੰ ਕਈ ਹਮਲੇ ਤਰੀਕਿਆਂ ਤੋਂ ਬਚਾ ਸਕਦਾ ਹੈ, ਹੈਸ਼ ਟੇਬਲ ਹਮਲੇ ਸਮੇਤ, ਸ਼ਬਦਕੋਸ਼ ਅਤੇ ਬ੍ਰੂਟ-ਫੋਰਸ ਔਫਲਾਈਨ ਕੋਸ਼ਿਸ਼ਾਂ ਨੂੰ ਦਬਾਉਂਦੇ ਹੋਏ।
ਇੱਥੇ, ਕੋਡ ਸਨਿੱਪਟ ਦੀ ਸਹਾਇਤਾ ਨਾਲ, ਅਸੀਂ ਦਿਖਾਵਾਂਗੇ ਕਿ ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ 'bcrypt' ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।
ਤਾਂ, 'bcrypt' ਕੀ ਹੈ?
Bcrypt ਇੱਕ ਹੈਸ਼ਿੰਗ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ਕਈ ਭਾਸ਼ਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੀ ਹੈ ਅਤੇ ਵਿਸ਼ੇਸ਼ ਪਾਸਵਰਡ ਇਨਕ੍ਰਿਪਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਵਧਾਉਣ ਲਈ, ਇਹ ਤੁਹਾਡੇ ਸਤਰ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਵੇਲੇ ਆਪਣੇ ਆਪ ਵਾਧੂ ਬੇਤਰਤੀਬੇ ਅੱਖਰ (ਲੂਣ) ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਤੁਸੀਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਵੀ ਚੁਣ ਸਕਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਆਉਣ ਵਾਲੀ ਸਤਰ ਵਿੱਚ ਕਿੰਨੇ ਵਾਧੂ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
bcrypt ਲਾਇਬ੍ਰੇਰੀ ਸਿਰਫ ਬਾਈਟ ਕੋਡ ਪੜ੍ਹਦੀ ਹੈ, ਕੱਚੀਆਂ ਸਤਰਾਂ ਨੂੰ ਨਹੀਂ। ਇਸ ਲਈ, ਇਨਕਰਿਪਸ਼ਨ ਲਈ bcrypt ਵਿੱਚ ਇੱਕ ਇਨਕਮਿੰਗ ਪਾਸਵਰਡ ਸਤਰ ਜਮ੍ਹਾਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਸਨੂੰ ਏਨਕੋਡ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
ਏਨਕ੍ਰਿਪਟ ਕਰਨਾ ਅਤੇ ਏਨਕੋਡਿੰਗ ਇੱਕੋ ਜਿਹੀਆਂ ਚੀਜ਼ਾਂ ਨਹੀਂ ਹਨ। ਇਹ ਸਿਰਫ਼ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਤਕਨੀਕ ਦੁਆਰਾ ਕਵਰ ਕੀਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਸਤਰ ਮਸ਼ੀਨ ਦੁਆਰਾ ਪੜ੍ਹਨਯੋਗ ਹੈ।
ਪਾਈਥਨ ਵਿੱਚ ਇੱਕ ਪਾਸਵਰਡ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ bcrypt ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਪਾਈਥਨ bcrypt ਪਾਸਵਰਡ ਇਨਕ੍ਰਿਪਸ਼ਨ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ। ਅਸੀਂ ਇੱਕ ਫਰੇਮਵਰਕ ਦੀ ਸਹਾਇਤਾ ਤੋਂ ਬਿਨਾਂ ਅਜਿਹਾ ਕਰਨ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। ਪਰ ਚਿੰਤਾ ਨਾ ਕਰੋ, ਜੇਕਰ ਤੁਸੀਂ ਸਮਝਦੇ ਹੋ ਕਿ ਉਪਭੋਗਤਾ ਇਨਪੁਟਸ ਨੂੰ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਡੇਟਾਬੇਸ ਤੋਂ ਕਿਵੇਂ ਪੜ੍ਹਨਾ ਹੈ, ਤਾਂ ਪ੍ਰਕਿਰਿਆ ਫਰੇਮਵਰਕ ਵਿੱਚ ਇੱਕੋ ਜਿਹੀ ਹੈ।
ਇੰਸਟਾਲੇਸ਼ਨ
ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਪਾਈਥਨ ਵਰਚੁਅਲ ਵਾਤਾਵਰਨ ਸੈਟ ਅਪ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਫਿਰ PyCharm ਵਰਗੇ IDE ਦੀ ਵਰਤੋਂ ਕਰੋ। ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਪਹਿਲਾਂ ਇੰਸਟਾਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
ਪਾਸਵਰਡ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
ਆਉ ਵੇਖੀਏ ਕਿ ਟੈਕਸਟ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇਸਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ bcrypt ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ:
ਉਪਰੋਕਤ ਪਾਈਥਨ ਕੋਡ ਇੱਕ ਐਨਕ੍ਰਿਪਟਡ ਬਾਈਟ ਸਤਰ ਨੂੰ ਚਲਾਉਂਦਾ ਅਤੇ ਆਉਟਪੁੱਟ ਕਰਦਾ ਹੈ। ਪਰ ਹਰ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਸਕ੍ਰਿਪਟ ਚਲਾਉਂਦੇ ਹੋ, ਨਤੀਜਾ ਵੱਖਰਾ ਹੁੰਦਾ ਹੈ। Bcrypt ਇਸ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਰਦਾ ਹੈ ਕਿ ਹਰੇਕ ਉਪਭੋਗਤਾ ਕੋਲ ਇੱਕ ਪਾਸਵਰਡ ਹੈ ਜੋ ਖਾਸ ਤੌਰ 'ਤੇ ਏਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ ਹੈ।
ਇਹ, ਇਤਫਾਕਨ, ਪਾਸਵਰਡ ਇਨਕ੍ਰਿਪਸ਼ਨ ਲਈ ਹੈ।
Bcrypt ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪਾਸਵਰਡ ਦੀ ਤੁਲਨਾ ਅਤੇ ਪੁਸ਼ਟੀ
ਕੀ ਹੁੰਦਾ ਹੈ ਜੇਕਰ ਤੁਸੀਂ ਹੈਸ਼ ਕੀਤੇ ਪਾਸਵਰਡ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਇਹ ਦੇਖਣ ਲਈ ਜਾਂਚ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਕੀ ਇਹ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਇੱਕ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਜਮ੍ਹਾਂ ਕੀਤੇ ਪਾਸਵਰਡ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਾਂ ਨਹੀਂ?
ਇਹ ਸਧਾਰਨ ਹੈ. ਸਿਰਫ਼ ਪ੍ਰਮਾਣਿਤ ਪਾਸਵਰਡ ਦੀ ਤੁਲਨਾ ਡੇਟਾਬੇਸ ਦੀ ਐਂਟਰੀ (ਜਾਂ ਇਸ ਕੇਸ ਵਿੱਚ ਮੈਮੋਰੀ ਵਿੱਚ) ਨਾਲ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।
ਪ੍ਰਮਾਣਿਤ ਪਾਸਵਰਡ ਨੂੰ ਡੇਟਾਬੇਸ ਵਿੱਚ ਇੱਕ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਵੀ ਏਨਕੋਡ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿਉਂਕਿ bcrypt ਕੇਵਲ ਬਾਈਟ ਸਤਰ ਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਹੈ। ਮੂਲ ਰੂਪ ਵਿੱਚ, ਤੁਸੀਂ ਇੱਕ ਏਨਕੋਡ ਪ੍ਰਮਾਣੀਕਰਣ ਇਨਪੁਟ ਦੀ ਤੁਲਨਾ ਏਨਕੋਡ ਕੀਤੇ ਹੈਸ਼ ਕੀਤੇ ਪਾਸਵਰਡ ਨਾਲ ਕਰੋਗੇ ਜੋ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਸਮੇਂ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਹੈ।
ਆਉ ਇਸ ਨੂੰ ਫਰਜ਼ੀ ਪਾਈਥਨ ਇਨਪੁਟਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਰਖੀਏ:
ਉਪਰੋਕਤ ਕੋਡ ਨੂੰ ਚਲਾਉਣ 'ਤੇ, ਤੁਹਾਨੂੰ ਇੱਕ ਨਵੇਂ ਪਾਸਵਰਡ ਲਈ ਪੁੱਛਿਆ ਜਾਵੇਗਾ। ਇਹ ਪਾਈਥਨ ਦੁਆਰਾ ਮੈਮੋਰੀ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਪ੍ਰਮਾਣੀਕਰਨ ਭਾਗ ਵਿੱਚ, ਤੁਸੀਂ ਫਿਰ ਉਹੀ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋਗੇ, ਜੋ ਤੁਹਾਡੇ ਲਈ ਨਿੱਜੀ ਹੈ।
ਜੇਕਰ ਪਾਸਵਰਡ ਦੀ ਤੁਲਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਇੱਕ ਜੋ ਪਹਿਲਾਂ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ ਸੀ ਅਤੇ ਮੈਚ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਸੀ, ਤਾਂ ਪਾਈਥਨ ਇੱਕ ਸਫਲਤਾ ਸੁਨੇਹਾ ਛੱਡਦਾ ਹੈ।
ਜੇ ਨਹੀਂ, ਤਾਂ ਗਲਤੀ ਸੁਨੇਹਾ ਛਾਪਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਫਿਰ ਹੋਰ ਵਾਕ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।
ਬੁਨਿਆਦੀ ਵਿਚਾਰ ਰਜਿਸਟਰ ਕਰਨ ਅਤੇ ਫਿਰ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਇੱਕ ਡੇਟਾਬੇਸ ਨੂੰ ਇੱਕ ਪਾਸਵਰਡ ਸਪਲਾਈ ਕਰਨ ਦੇ ਸਮਾਨ ਹੈ।
ਸਿੱਟਾ
ਭਾਵੇਂ ਕਿ ਅਸੀਂ ਸਧਾਰਨ ਪਾਈਥਨ ਛੋਟੀ ਮੈਮੋਰੀ ਵਿੱਚ bcrypt ਫੰਕਸ਼ਨ ਨੂੰ ਦਿਖਾਉਣ ਲਈ ਸਿਰਫ਼ ਏਨਕ੍ਰਿਪਟਡ ਪਾਸਵਰਡਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਹੈ, ਇਸਦੀ ਅਸਲ ਉਪਯੋਗਤਾ ਉਪਭੋਗਤਾ-ਅਧਾਰ ਐਪਸ ਵਿੱਚ ਹੈ।
ਫਿਰ ਵੀ, ਇਹ ਲੇਖ ਅਸਲ-ਸੰਸਾਰ ਦੇ ਹਾਲਾਤਾਂ ਵਿੱਚ ਵੀ, ਇਸ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਤਰੀਕਿਆਂ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਫਲਾਸਕ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਨਪੁਟਸ ਦੀ ਬਜਾਏ ਵੱਖਰੇ ਵੈੱਬ ਫਾਰਮਾਂ ਰਾਹੀਂ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਖੇਤਰ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੇ ਹੋ।
ਬੇਸ਼ੱਕ, ਪਾਸਵਰਡਾਂ ਦੀ ਤੁਲਨਾ ਕਰਦੇ ਸਮੇਂ, ਤੁਸੀਂ ਇੱਕ ਡੇਟਾਬੇਸ ਤੋਂ ਪੜ੍ਹੋਗੇ ਜਿਸ ਵਿੱਚ ਇਨਕ੍ਰਿਪਟਡ ਪਾਸਵਰਡ ਹੁੰਦੇ ਹਨ ਜੋ ਅਸਲ ਸੰਸਾਰ ਵਿੱਚ ਰੱਖੇ ਜਾਂਦੇ ਹਨ।
ਜੋਨਾ ਨਿਟਸ਼
ਇਸ ਸਰਲ ਅਤੇ ਸਰਲ ਵਿਆਖਿਆ ਲਈ ਤੁਹਾਡਾ ਧੰਨਵਾਦ,
ਇਸਨੇ ਮੇਰੇ ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਮੇਰੀ ਬਹੁਤ ਮਦਦ ਕੀਤੀ।
ਮੈਨੂੰ ਲਗਦਾ ਹੈ ਕਿ ਇਹ ਬਹੁਤ ਵਧੀਆ ਹੈ ਕਿ ਉਦਾਹਰਣ ਕੋਡ ਘੱਟੋ ਘੱਟ ਤੱਕ ਸੀਮਿਤ ਹੈ ਅਤੇ ਹੋਰ ਬਹੁਤ ਸਾਰੀਆਂ ਵਿਆਖਿਆਵਾਂ ਵਾਂਗ ਓਵਰਲੋਡ ਨਹੀਂ ਹੈ.
ਉੱਤਮ ਸਨਮਾਨ