मैं एक साधारण सामग्री प्रबंधन प्रणाली लिख रहा हूं। मुझे SHA1 हैश मानों को स्टोर करने की आवश्यकता है जिन्हें मेरी सबसे बड़ी तालिका के लिए प्राथमिक कुंजी के रूप में बाहरी रूप से गणना की जाती है।पोस्टग्रेज़ में प्राथमिक कुंजी के रूप में SHA1 हस्ताक्षर संग्रहीत करना SQL
मैं स्पष्ट रूप से प्राथमिक कुंजी के रूप में अनुक्रम का उपयोग कर सकता हूं और SHA1 हेक्स-स्ट्रिंग को देखने के लिए इंडेक्स कर सकता हूं ... हालांकि, मैं एक और अधिक सुरुचिपूर्ण समाधान ढूंढ रहा हूं, जहां मैं केवल 20-बाइट का उपयोग करूंगा SHA1 ने पंक्तियों को दी गई कुंजी के रूप में मानों की गणना की है जो मैं डेटाबेस तालिका में डालने/हटाने/अपडेट करने जा रहा हूं। क्या कोई कुशल स्टोरेज प्रकार है जिसका उपयोग मैं स्टोर करने के लिए और बाद में SHA1 कुंजी को प्राथमिक कुंजी के रूप में उपयोग करने के लिए कर सकता हूं?
मैं postgres इस करवाने के लिए कुंजी के रूप में 20-बाइट मूल्यों का उपयोग कर समर्थन करने के लिए स्पष्ट रूप से की आवश्यकता होगी।
कोई भी विचार किसी के साथ?
बीटीडब्ल्यू, बस ध्यान रखें कि सभी हैश कुंजी टकरा सकती हैं, यहां तक कि SHA1 भी। –
मैं हैश टकराव के बारे में SHA1 का एक उचित कार्यान्वयन के साथ चिंता नहीं :) देखें http://stackoverflow.com/questions/297960/hash-collision-what-are-the-chances – wojo