వినియోగదారుని నిర్ధారిస్తున్నప్పుడు లేదా అలాంటిదే చేస్తున్నప్పుడు మీరు పాస్వర్డ్ను ఎప్పుడూ సాదా వచనంలో ఉంచకూడదు.
చాలా మంది వ్యక్తులు ఒకే పాస్వర్డ్ను ఉపయోగిస్తున్నందున, దాడి చేసే వ్యక్తి ఎన్క్రిప్ట్ చేయని పాస్వర్డ్ల డేటాబేస్ను కనుగొంటే, లింక్ చేయబడిన వెబ్సైట్ లేదా ఖాతాలోకి ప్రవేశించడానికి మరియు ఇతర ఖాతాలను యాక్సెస్ చేయడానికి ప్రయత్నించడానికి కూడా వాటిని సరిపోలే ఇమెయిల్లతో కలిపి సులభంగా ఉపయోగించవచ్చు.
పాస్వర్డ్ను సరఫరా చేసినప్పుడు పాస్వర్డ్లు తరచుగా హ్యాష్ చేయబడతాయి. ఉప్పుతో హ్యాష్ చేయమని మరియు ఉప్పును హ్యాష్ చేసిన పాస్వర్డ్తో కలిపి ఉంచాలని సూచించబడింది.
సాల్టింగ్ అనేది హాష్ బ్రౌన్స్ కోసం ఒక రెసిపీలోని దశల్లో ఒకటిగా అనిపించవచ్చు, కానీ క్రిప్టోగ్రఫీలో, ఇన్పుట్లు ఒకేలా ఉన్నప్పటికీ హాష్ ఎల్లప్పుడూ ప్రత్యేకమైన ఫలితాన్ని అందిస్తుందని నిర్ధారించుకోవడానికి హాష్ ఫంక్షన్ ఇన్పుట్కు యాదృచ్ఛిక డేటాను జోడించడాన్ని ఇది సూచిస్తుంది.
ఫలితంగా, ఉప్పును జోడించడం ద్వారా సృష్టించబడిన విలక్షణమైన హాష్ డిక్షనరీ మరియు బ్రూట్-ఫోర్స్ ఆఫ్లైన్ ప్రయత్నాలను అణిచివేసేటప్పుడు, హాష్ టేబుల్ అసాల్ట్లతో సహా అనేక దాడి పద్ధతుల నుండి మనల్ని రక్షించగలదు.
ఇక్కడ, కోడ్ స్నిప్పెట్ల సహాయంతో, మీ పాస్వర్డ్లను భద్రపరచడానికి 'bcrypt' ఎలా ఉపయోగించాలో మేము ప్రదర్శిస్తాము.
కాబట్టి, 'bcrypt' అంటే ఏమిటి?
Bcrypt అనేది అనేక భాషలకు మద్దతిచ్చే మరియు ప్రత్యేక పాస్వర్డ్ గుప్తీకరణను అందించే హ్యాషింగ్ లైబ్రరీ. మీ పాస్వర్డ్ భద్రతను పెంచడానికి, మీ స్ట్రింగ్ను ఎన్క్రిప్ట్ చేసేటప్పుడు ఇది ఆటోమేటిక్గా అదనపు యాదృచ్ఛిక అక్షరాలను (ఉప్పు) ఉత్పత్తి చేస్తుంది.
మీరు ఇన్కమింగ్ స్ట్రింగ్కు ఎన్ని అదనపు అక్షరాలను జోడించాలనుకుంటున్నారో నిర్వచించడానికి కూడా మీరు ఎంచుకోవచ్చు.
bcrypt లైబ్రరీ బైట్ కోడ్ను మాత్రమే చదువుతుంది, ముడి స్ట్రింగ్లను కాదు. అందువల్ల, ఎన్క్రిప్షన్ కోసం bcryptకి ఇన్కమింగ్ పాస్వర్డ్ స్ట్రింగ్ను సమర్పించే ముందు, మీరు ముందుగా దాన్ని ఎన్కోడ్ చేయాలి.
ఎన్క్రిప్టింగ్ మరియు ఎన్కోడింగ్ ఒకేలా ఉండవు. ఎన్క్రిప్షన్ టెక్నిక్ ద్వారా కవర్ చేయబడే ముందు స్ట్రింగ్ మెషీన్-రీడబుల్ అని ఇది నిర్ధారిస్తుంది.
పైథాన్లో పాస్వర్డ్ను ఎన్క్రిప్ట్ చేయడానికి bcryptని ఉపయోగించడం
పైథాన్ bcrypt పాస్వర్డ్ గుప్తీకరణను సులభతరం చేస్తుంది. మేము ఫ్రేమ్వర్క్ సహాయం లేకుండా దీన్ని చేయడంపై దృష్టి పెడతాము. కానీ చింతించకండి, వినియోగదారు ఇన్పుట్లను ఎలా సేవ్ చేయాలో మరియు డేటాబేస్ నుండి వాటిని ఎలా చదవాలో మీరు అర్థం చేసుకుంటే, ఫ్రేమ్వర్క్లలో ప్రక్రియ అదే విధంగా ఉంటుంది.
సంస్థాపన
మీరు పైథాన్ వర్చువల్ వాతావరణాన్ని సెటప్ చేసి, ఆపై PyCharm వంటి IDEని ఉపయోగించాలి. లైబ్రరీని ముందుగా ఇన్స్టాల్ చేయాలి:
పాస్వర్డ్ను ఎన్క్రిప్ట్ చేస్తోంది
టెక్స్ట్ను ఇన్స్టాల్ చేసిన తర్వాత ఎన్క్రిప్ట్ చేయడానికి bcrypt ఎలా ఉపయోగించాలో చూద్దాం:
పైన పేర్కొన్న పైథాన్ కోడ్ ఎన్క్రిప్టెడ్ బైట్ స్ట్రింగ్ను అమలు చేస్తుంది మరియు అవుట్పుట్ చేస్తుంది. కానీ మీరు స్క్రిప్ట్ని అమలు చేసిన ప్రతిసారీ, ఫలితం భిన్నంగా ఉంటుంది. Bcrypt ప్రతి వినియోగదారుకు ప్రత్యేకంగా గుప్తీకరించిన పాస్వర్డ్ ఉందని నిర్ధారించుకోవడానికి ఈ పద్ధతిని ఉపయోగిస్తుంది.
అది, యాదృచ్ఛికంగా, పాస్వర్డ్ ఎన్క్రిప్షన్ కోసం.
Bcrypt ఉపయోగించి పాస్వర్డ్ పోలిక మరియు నిర్ధారణ
మీరు హాష్ చేసిన పాస్వర్డ్ను సేవ్ చేయాలనుకుంటే మరియు అది ప్రామాణీకరణ కోసం వినియోగదారు సమర్పించిన పాస్వర్డ్తో సరిపోలుతుందో లేదో చూడటానికి తర్వాత తనిఖీ చేయాలనుకుంటే ఏమి జరుగుతుంది?
అది సింపుల్. ప్రామాణీకరించే పాస్వర్డ్ మాత్రమే తప్పనిసరిగా డేటాబేస్ యొక్క ఎంట్రీతో (లేదా ఈ సందర్భంలో మెమరీలో) సరిపోల్చాలి.
bcrypt బైట్ స్ట్రింగ్లను మాత్రమే చదవగలదు కాబట్టి ప్రామాణీకరించే పాస్వర్డ్ కూడా డేటాబేస్లోని దానితో పోల్చడానికి ముందు తప్పనిసరిగా ఎన్కోడ్ చేయబడాలి. ప్రాథమికంగా, మీరు ప్రస్తుతం మీ డేటాబేస్లో ఉన్న ఎన్కోడ్ చేసిన హాష్ పాస్వర్డ్తో ఎన్కోడ్ చేసిన ప్రమాణీకరణ ఇన్పుట్ను సరిపోల్చండి.
కల్పిత పైథాన్ ఇన్పుట్లను ఉపయోగించడం ద్వారా దీన్ని పరీక్షిద్దాం:
పైన పేర్కొన్న కోడ్ను అమలు చేసిన తర్వాత, మీరు కొత్త పాస్వర్డ్ కోసం ప్రాంప్ట్ చేయబడతారు. ఇది పైథాన్ ద్వారా మెమరీలో సేవ్ చేయబడింది. ప్రామాణీకరణ విభాగంలో, మీరు అదే పాస్వర్డ్ను నమోదు చేస్తారు, ఇది మీకు ప్రైవేట్గా ఉంటుంది.
పాస్వర్డ్ను సరిపోల్చినట్లయితే మరియు గతంలో ఎన్క్రిప్ట్ చేయబడినది మరియు మ్యాచ్ను సేవ్ చేసినట్లయితే, పైథాన్ విజయవంతమైన సందేశాన్ని విడుదల చేస్తుంది.
కాకపోతే, దోష సందేశం ముద్రించబడి, ఆపై వేరే వాక్యం జోడించబడుతుంది.
ప్రామాణీకరణ కోసం డేటాబేస్కు పాస్వర్డ్ను నమోదు చేయడం మరియు సరఫరా చేయడం వంటి ప్రాథమిక ఆలోచన ఒకేలా ఉంటుంది.
ముగింపు
సాదా పైథాన్ షార్ట్ మెమరీలో bcrypt ఎలా పనిచేస్తుందో చూపించడానికి మేము కేవలం ఎన్క్రిప్టెడ్ పాస్వర్డ్లను ఉపయోగించినప్పటికీ, దాని వాస్తవ వర్తింపు యూజర్-బేస్ యాప్లలో ఉంటుంది.
అయినప్పటికీ, వాస్తవ-ప్రపంచ పరిస్థితులలో కూడా దీన్ని సాధించడానికి మీ కోడ్ని నిర్వహించడానికి అవసరమైన పద్ధతులను ఈ కథనం ప్రదర్శిస్తుంది.
ఉదాహరణకు, మీరు ఫ్లాస్క్ని ఉపయోగిస్తుంటే, ఇన్పుట్లకు బదులుగా ప్రత్యేక వెబ్ ఫారమ్ల ద్వారా మీరు రిజిస్ట్రేషన్ మరియు ప్రామాణీకరణ ఫీల్డ్లను అందించవచ్చు.
వాస్తవానికి, పాస్వర్డ్లను సరిపోల్చేటప్పుడు, వాస్తవ ప్రపంచంలో ఉంచబడిన ఎన్క్రిప్టెడ్ పాస్వర్డ్లను కలిగి ఉన్న డేటాబేస్ నుండి మీరు చదువుతారు.
జోనా నిట్ష్
ఈ సరళమైన మరియు సరళమైన వివరణకు ధన్యవాదాలు,
ఇది నా ప్రస్తుత ప్రాజెక్ట్లో నాకు చాలా సహాయపడింది.
ఉదాహరణ కోడ్ కనీస స్థాయికి పరిమితం కావడం మరియు చాలా ఇతర వివరణల వలె ఓవర్లోడ్ చేయకపోవడం చాలా మంచిదని నేను భావిస్తున్నాను.
భవదీయులు