ਫਾਉਲਰ-ਨੋਲ-ਵੋ FNV1-32 ਹੈਸ਼ ਕੋਡ ਕੈਲਕੁਲੇਟਰ
ਪ੍ਰਕਾਸ਼ਿਤ: 19 ਮਾਰਚ 2025 8:57:42 ਬਾ.ਦੁ. UTC
ਹੈਸ਼ ਕੋਡ ਕੈਲਕੁਲੇਟਰ ਜੋ ਟੈਕਸਟ ਇਨਪੁਟ ਜਾਂ ਫਾਈਲ ਅਪਲੋਡ ਦੇ ਅਧਾਰ ਤੇ ਹੈਸ਼ ਕੋਡ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਫਾਉਲਰ-ਨੋਲ-ਵੋ 1 32 ਬਿੱਟ (FNV1-32) ਹੈਸ਼ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।Fowler-Noll-Vo FNV1-32 Hash Code Calculator
FNV-1 32-ਬਿੱਟ ਹੈਸ਼ ਫੰਕਸ਼ਨ ਫਾਉਲਰ-ਨੋਲ-ਵੋ (FNV) ਹੈਸ਼ ਫੰਕਸ਼ਨਾਂ ਦੇ ਪਰਿਵਾਰ ਦਾ ਹਿੱਸਾ ਹੈ, ਜੋ ਹੈਸ਼ ਮੁੱਲਾਂ ਦੀ ਚੰਗੀ ਵੰਡ ਨੂੰ ਬਣਾਈ ਰੱਖਦੇ ਹੋਏ ਤੇਜ਼ ਹੈਸ਼ਿੰਗ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਹੈਸ਼ ਟੇਬਲ, ਚੈੱਕਸਮ ਅਤੇ ਡੇਟਾ ਲੁੱਕਅੱਪ ਵਰਗੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਇੱਕ 32 ਬਿੱਟ (4 ਬਾਈਟ) ਹੈਸ਼ ਕੋਡ ਪੈਦਾ ਕਰਦਾ ਹੈ, ਜਿਸਨੂੰ ਅਕਸਰ 8 ਅੰਕਾਂ ਦੇ ਹੈਕਸਾਡੈਸੀਮਲ ਨੰਬਰ ਵਜੋਂ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ।
ਪੂਰਾ ਖੁਲਾਸਾ: ਮੈਂ ਇਸ ਪੰਨੇ 'ਤੇ ਵਰਤੇ ਗਏ ਹੈਸ਼ ਫੰਕਸ਼ਨ ਦੇ ਖਾਸ ਲਾਗੂਕਰਨ ਨੂੰ ਨਹੀਂ ਲਿਖਿਆ। ਇਹ PHP ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦੇ ਨਾਲ ਸ਼ਾਮਲ ਇੱਕ ਮਿਆਰੀ ਫੰਕਸ਼ਨ ਹੈ। ਮੈਂ ਸਿਰਫ਼ ਵੈੱਬ ਇੰਟਰਫੇਸ ਨੂੰ ਇੱਥੇ ਸਹੂਲਤ ਲਈ ਜਨਤਕ ਤੌਰ 'ਤੇ ਉਪਲਬਧ ਕਰਵਾਉਣ ਲਈ ਬਣਾਇਆ ਹੈ।
ਫਾਊਲਰ-ਨੋਲ-ਵੋ FNV-1 32 ਬਿਟ ਹੈਸ਼ ਐਲਗੋਰਿਦਮ ਬਾਰੇ
ਮੈਂ ਗਣਿਤਜ्ञਾਨੀ ਨਹੀਂ ਹਾਂ, ਪਰ ਮੈਂ ਇਸ ਹੈਸ਼ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਐਨਾਲੌਜੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਮਝਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਾਂਗਾ ਜਿਸਨੂੰ ਮੇਰੇ ਸਾਥੀ ਗਣਿਤਜ्ञਾਨੀ ਨਹੀਂ ਸਮਝ ਸਕਦੇ। ਜੇ ਤੁਸੀਂ ਵਿਗਿਆਨਿਕ ਠੀਕ, ਡਰਾਉਣੇ-ਗਣਿਤ ਵਿਆਖਿਆ ਦੀ ਚਾਹਤ ਰੱਖਦੇ ਹੋ, ਤਾਂ ਮੈਨੂੰ ਪੱਕਾ ਪਤਾ ਹੈ ਕਿ ਤੁਸੀਂ ਉਹ ਕਿਤੇ ਹੋਰ ਲੱਭ ਸਕਦੇ ਹੋ ;-)
ਪਹਿਲਾਂ, ਚਲੋ ਫਾਊਲਰ-ਨੋਲ-ਵੋ ਐਲਗੋਰਿਦਮ ਨੂੰ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸਮੂਥੀ ਬਣਾਉਣ ਦੇ ਰਿਸਪੀ ਦੀ ਤਰ੍ਹਾਂ ਸੋਚੀਏ। ਹਰ ਇਕ ਸਮੱਗਰੀ ਜੋ ਤੁਸੀਂ ਪਾਉਂਦੇ ਹੋ (ਜਿਵੇਂ ਫਲ, ਦੁਧ ਜਾਂ ਸ਼ਹਿਦ) ਇੱਕ ਡਾਟਾ ਦੇ ਟੁਕੜੇ ਦਾ ਪ੍ਰਤੀਕ ਹੈ - ਜਿਵੇਂ ਅੱਖਰ, ਨੰਬਰ ਜਾਂ ਇਥੇ ਤੱਕ ਕਿ ਪੂਰਾ ਫਾਈਲ।
ਹੁਣ, ਲਕਸ਼ ਇਹ ਹੈ ਕਿ ਇਹ ਸਮੱਗਰੀਆਂ ਇਕ ਵਿਸ਼ੇਸ਼ ਤਰੀਕੇ ਨਾਲ ਮਿਲਾਈਆਂ ਜਾਣ ਤਾਂ ਕਿ ਰਿਸਪੀ ਵਿੱਚ ਇੱਕ ਛੋਟਾ ਸੇ ਬਦਲਾਅ (ਜਿਵੇਂ ਇੱਕ ਵਧੀਕ ਬਲੂਬੇਰੀ ਪਾਉਣਾ) ਸਮੂਥੀ ਦਾ ਸਵਾਦ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰਾ ਕਰ ਦੇਵੇ। ਇਹ ਹੈਸ਼ ਫੰਕਸ਼ਨ ਦੀ ਕਾਰਵਾਈ ਦਾ ਤਰੀਕਾ ਹੈ - ਉਹ ਹਰ ਇੱਕ ਵਿਲੱਖਣ ਸਮੱਗਰੀ ਦੇ ਸੈੱਟ (ਜਾਂ ਇੰਪੁਟ ਡਾਟਾ) ਲਈ ਇਕ ਵਿਲੱਖਣ "ਸਵਾਦ" (ਜਾਂ ਹੈਸ਼ ਮੁੱਲ) ਤਿਆਰ ਕਰਦੇ ਹਨ।
ਫਾਊਲਰ-ਨੋਲ-ਵੋ ਐਲਗੋਰਿਦਮ ਇਹ ਕਿਵੇਂ ਕਰਦਾ ਹੈ ਇਹ ਇੱਕ ਕਈ ਕਦਮਾਂ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਹੈ:
ਕਦਮ 1: ਇੱਕ ਬੇਸ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ (ਓਫਸੈੱਟ ਬੇਸ)
ਇਸ ਨੂੰ ਆਪਣੇ ਬਲੈਂਡਰ ਵਿੱਚ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸਮੂਥੀ ਬੇਸ ਪਾਉਣ ਵਾਂਗ ਸੋਚੋ। ਇਹ ਬੇਸ ਹਮੇਸ਼ਾ ਇੱਕੋ ਜਿਹਾ ਹੁੰਦਾ ਹੈ, ਭਾਵੇਂ ਤੁਸੀਂ ਕਿਹੜੀ ਸਮੱਗਰੀ ਪਾਉਂਦੇ ਹੋ। FNV-1 ਵਿੱਚ ਇਸ ਨੂੰ "ਓਫਸੈੱਟ ਬੇਸ" ਕਿਹਾ ਜਾਂਦਾ ਹੈ - ਸਿਰਫ ਇੱਕ ਖਾਸ ਸ਼ੁਰੂਆਤੀ ਸੰਖਿਆ।
ਕਦਮ 2: ਸਮੱਗਰੀਆਂ ਇਕ-ਇਕ ਕਰਕੇ ਪਾਓ (ਡਾਟਾ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨਾ)
ਹੁਣ ਤੁਸੀਂ ਆਪਣੀਆਂ ਸਮੱਗਰੀਆਂ ਇੱਕ-ਇੱਕ ਕਰਕੇ ਪਾਉਂਦੇ ਹੋ - ਮੰਨੋ ਇੱਕ ਸਟਰਾਬੇਰੀ, ਫਿਰ ਇੱਕ ਬਨਾਨਾ, ਫਿਰ ਕੁਝ ਸ਼ਹਿਦ। ਹਰ ਇੱਕ ਇਹ ਡਾਟਾ ਦੇ ਇੱਕ ਬਾਈਟ ਦਾ ਪ੍ਰਤੀਕ ਹੈ।
ਕਦਮ 3: ਇੱਕ ਗੁਪਤ ਗੁਣਾਕਾਰੀ ਨਾਲ ਮਿਕਸ ਕਰੋ (FNV ਪ੍ਰਾਈਮ)
ਹਰ ਸਮੱਗਰੀ ਪਾਉਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਬਲੈਂਡ ਬਟਨ ਦਬਾਉਂਦੇ ਹੋ, ਪਰ ਇਹ ਹੈ ਚੋਣਦਾ ਹੈ: ਬਲੈਂਡਰ ਹਰ ਚੀਜ਼ ਨੂੰ ਇੱਕ ਗੁਪਤ "ਜਾਦੂਈ ਸੰਖਿਆ" ਨਾਲ ਗੁਣਾ ਕਰਦਾ ਹੈ ਜਿਸ ਨੂੰ FNV ਪ੍ਰਾਈਮ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਚੀਜ਼ਾਂ ਨੂੰ ਬਹੁਤ ਵਧੀਆ ਤਰੀਕੇ ਨਾਲ ਮਿਲਾਉਂਦਾ ਹੈ।
ਕਦਮ 4: ਇੱਕ ਚਮਚੀ ਜਾਦੂ ਦਾ ਛਿੜਕਾਅ ਕਰੋ (XOR ਓਪਰੇਸ਼ਨ)
ਅਗਲੀ ਸਮੱਗਰੀ ਪਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਸੀਂ ਥੋੜਾ ਜਾਦੂਈ ਧੂੜ ਛਿੜਕਦੇ ਹੋ (ਇਹ XOR ਓਪਰੇਸ਼ਨ ਹੈ)। ਇਹ ਸਵਾਦ ਨੂੰ ਅਚਾਨਕ ਤਰੀਕੇ ਨਾਲ ਬਦਲਣ ਵਾਂਗ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਛੋਟੇ ਬਦਲਾਅ ਵੀ ਵੱਡਾ ਫਰਕ ਪਾਉਂਦੇ ਹਨ।
ਕਦਮ 5: ਹੋਣ ਤੱਕ ਦੁਹਰਾਓ
ਤੁਸੀਂ ਹਰ ਨਵੀਂ ਸਮੱਗਰੀ ਦੇ ਬਾਅਦ ਬਲੈਂਡ ਕਰਦੇ ਹੋ ਅਤੇ ਜਾਦੂ ਛਿੜਕਦੇ ਹੋ, ਜਦ ਤੱਕ ਤੁਹਾਨੂੰ ਸਭ ਕੁਝ ਪ੍ਰੋਸੈਸ ਨਹੀਂ ਕਰ ਲਿਆ।
ਕਦਮ 6: ਅਖੀਰੀ ਸਮੂਥੀ (ਹੈਸ਼ ਮੁੱਲ)
ਜਦੋਂ ਤੁਸੀਂ ਖਤਮ ਕਰ ਲੈਂਦੇ ਹੋ, ਤੁਸੀਂ ਸਮੂਥੀ ਨੂੰ ਗਿਰਾ ਦਿੰਦੇ ਹੋ। ਆਖਰੀ ਸਵਾਦ (ਹੈਸ਼ ਮੁੱਲ) ਉਸੇ ਖਾਸ ਸਮੱਗਰੀ ਦੇ ਸੈੱਟ ਲਈ ਵਿਲੱਖਣ ਹੁੰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇੱਕ ਵਧੀਕ ਬਲੂਬੇਰੀ ਪਾਉਂਦੇ ਤਾਂ ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰਾ ਸੁਆਦ ਹੁੰਦਾ।
ਜੋ ਸੰਸਕਰਣ ਇੱਥੇ ਪੇਸ਼ ਕੀਤੀ ਗਈ ਹੈ ਉਹ ਮੂਲ FNV-1 32 ਬਿਟ ਸੰਸਕਰਣ ਹੈ। ਇੱਕ ਸੁਧਾਰਿਤ FNV-1a 32 ਬਿਟ ਸੰਸਕਰਣ ਵੀ ਉਪਲਬਧ ਹੈ: ਫਾਉਲਰ-ਨੋਲ-ਵੋ FNV1a-32 ਹੈਸ਼ ਕੋਡ ਕੈਲਕੁਲੇਟਰ