पाइथन में &=
क्या है?"& =" ऑपरेटर क्या है और स्ट्रिंग की तुलना करते समय ट्विलियो इसका उपयोग क्यों करता है?
उदाहरण के लिए:
for c1, c2 in izip(string1, string2):
result &= c1 == c2
मैं इसे twilio अजगर पुस्तकालय में पाया: https://github.com/twilio/twilio-python/blob/master/twilio/util.py#L62
क्यों वे सिर्फ तार सीधे return string1 == string2
तुलना नहीं है और हर किरदार की तुलना? जबकि हर चरित्र की मूल्यांकन के लिए मजबूर कर एक हमलावर समय उसका अनुमान लगाना जहां ले लिया उपयोग नहीं कर सकते Timing Attacks
के खिलाफ की रक्षा करने तक
दो तार की तुलना करें:
मैं ईमानदारी से उस असेंबली में दिलचस्पी लेता हूं जो उत्पादित होता है, जिस तरह से यह स्थापित होता है, ऐसा लगता है कि यह प्रति लूप के लिए अर्ध-परमाणु कार्यों में कमी कर सकता है। जो कार्रवाई थ्रेड-सुरक्षित सुरक्षित रखने में और मदद करेगा। –
यह अभी भी इसे किसी बिंदु पर संकलित करने में बनाता है। तो यह अभी भी सोचने का एक व्यवहार्य कारण है। –
@ जेफ लांगेमेर: चूंकि तार अपरिवर्तनीय हैं, इसलिए पहले स्थान पर कोई थ्रेड सुरक्षा समस्या नहीं है। – Blckknght