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