איר מוזן קיינמאָל האַלטן אַ פּאַראָל אין קלאָר טעקסט בשעת איר באַשטעטיקן אַ באַניצער אָדער טאָן עפּעס ענלעך.
זינט פילע מענטשן נוצן די זעלבע פּאַראָל, אויב אַ אַטאַקער דיסקאַווערז אַ דאַטאַבייס פון אַנענקריפּטיד פּאַסווערדז, זיי קענען לייכט זיין געוויינט אין קאַנדזשאַנגקשאַן מיט וואָס ריכטן ימיילז צו אַרייַן די לינגקט וועבזייטל אָדער חשבון און אפילו צו פּרובירן צו אַקסעס אנדערע אַקאַונץ.
פּאַסווערדז זענען אָפט כאַשט הייַנט ווען אַ פּאַראָל איז סאַפּלייד. עס איז אַדווייזד צו כאַש מיט זאַלץ און האַלטן די זאַלץ צוזאַמען מיט די כאַשט פּאַראָל.
סאָלטינג קען ויסקומען ווי איינער פון די סטעפּס אין אַ רעצעפּט פֿאַר האַש בראַונז, אָבער אין קריפּטאָגראַפי, עס רעפערס צו אַדינג טראַפ דאַטן צו די אַרייַנשרייַב פון אַ האַש פונקציע צו ענשור אַז די האַש וועט שטענדיק צושטעלן אַ יינציק רעזולטאַט אפילו אויב די ינפּוץ זענען יידעניקאַל.
ווי אַ רעזולטאַט, די אָפּשיידנדיק האַש באשאפן דורך אַדינג די זאַלץ קענען באַשיצן אונדז פון עטלעכע באַפאַלן מעטהאָדס, אַרייַנגערעכנט האַש טיש אַטאַקע, בשעת סטילינג ווערטערבוך און ברוט-קראַפט אָפפלינע פרווון.
דאָ, מיט די הילף פון קאָד סניפּאַץ, מיר וועט באַווייַזן ווי צו נוצן 'bcrypt' צו באַוואָרענען דיין פּאַסווערדז.
אַזוי, וואָס איז 'בקריפּט'?
Bcrypt איז אַ כאַשינג ביבליאָטעק וואָס שטיצט עטלעכע שפּראַכן און גיט ספּעציעלע פּאַראָל ענקריפּשאַן. צו פאַרגרעסערן די זיכערהייט פון דיין פּאַראָל, עס אויטאָמאַטיש טראגט נאָך טראַפ - אותיות (זאַלץ) ווען ענקריפּטינג דיין שטריקל.
איר קענט אויך קלייַבן צו דעפינירן ווי פילע נאָך אותיות איר ווילן צו לייגן צו אַ ינקאַמינג שטריקל.
די bcrypt ביבליאָטעק בלויז לייענט בייט קאָד, נישט רוי סטרינגס. דעריבער, איידער איר פאָרלייגן אַ ינקאַמינג פּאַראָל שטריקל צו bcrypt פֿאַר ענקריפּשאַן, איר מוזן ערשטער ענקאָוד עס.
ענקריפּטינג און קאָדירונג זענען נישט די זעלבע זאכן. עס נאָר מאכט זיכער אַז אַ שטריקל איז מאַשין ליינעוודיק איידער עס איז באדעקט דורך אַ ענקריפּשאַן טעכניק.
ניצן bcrypt צו ענקריפּט אַ פּאַראָל אין פּיטהאָן
פּיטהאָן מאכט בקריפּט פּאַראָל ענקריפּשאַן פּשוט. מיר וועלן קאַנסאַנטרייט אויף טאן דעם אָן די הילף פון אַ פריימווערק. אָבער טאָן ניט זאָרג, אויב איר פֿאַרשטיין ווי צו ראַטעווען באַניצער ינפּוץ און לייענען זיי פֿון די דאַטאַבייס, די פּראָצעדור איז די זעלבע אין פראַמעוואָרקס.
ינסטאַלירונג
איר נאָר דאַרפֿן צו שטעלן אַרויף אַ פּיטהאָן ווירטואַל סוויווע און דעמאָלט נוצן אַ IDE ווי PyCharm. דער ביבליאָטעק מוזן זיין אינסטאַלירן ערשטער:
ענקריפּטינג פּאַראָל
לאָמיר זען ווי צו נוצן bcrypt צו ענקריפּט אַ טעקסט נאָך עס איז אינסטאַלירן:
די אַפאָרמענשאַנד פּיטהאָן קאָד עקסאַקיוץ און אַוטפּוץ אַ ינקריפּטיד בייט שטריקל. אָבער יעדער מאָל איר לויפן דעם שריפט, דער רעזולטאַט איז אַנדערש. Bcrypt ניצט דעם אופֿן צו מאַכן זיכער אַז יעדער באַניצער האט אַ פּאַראָל וואָס איז ספּאַסיפיקלי ינקריפּטיד.
אַז, אגב, איז פֿאַר פּאַראָל ענקריפּשאַן.
פּאַראָל פאַרגלייַך און באַשטעטיקונג ניצן Bcrypt
וואָס כאַפּאַנז אויב איר ווילן צו ראַטעווען די האַשעד פּאַראָל און טשעק שפּעטער צו זען צי עס שוועבעלעך די פּאַראָל וואָס אַ באַניצער דערלאנגט פֿאַר אָטענטאַקיישאַן?
אַז ס פּשוט. בלויז די אָטענטאַקייטינג פּאַראָל מוזן זיין קאַמפּערד מיט די פּאָזיציע פון די דאַטאַבייס (אָדער אין זכּרון אין דעם פאַל).
די אָטענטאַקייטינג פּאַראָל מוזן אויך זיין ענקאָודיד איידער עס איז קאַמפּערד מיט די אין די דאַטאַבייס ווייַל bcrypt קענען בלויז לייענען בייט סטרינגס. בייסיקלי, איר וועט פאַרגלייַכן אַ ענקאָודיד אָטענטאַקיישאַן אַרייַנשרייַב צו די ענקאָודיד האַשעד פּאַראָל איר איצט האָבן אין דיין דאַטאַבייס.
לאָמיר פּרובירן דאָס דורך ניצן פיקטישאַס פּיטהאָן ינפּוץ:
ווען איר לויפן די אַפאָרמענשאַנד קאָד, איר זענט פּראַמפּטיד פֿאַר אַ נייַ פּאַראָל. דאָס איז געראטעוועט אין זכּרון דורך Python. אין די אָטענטאַקייטינג אָפּטיילונג, איר וועט אַרייַן די זעלבע פּאַראָל, וואָס איז פּריוואַט צו איר.
אויב די פּאַראָל איז קאַמפּערד מיט די פּאַראָל וואָס איז געווען פריער ינקריפּטיד און געראטעוועט די גלייַכן, פּיטהאָן עמיץ אַ הצלחה אָנזאָג.
אויב ניט, דער טעות אָנזאָג איז געדרוקט אויס און די אנדערע זאַץ איז צוגעגעבן.
די פונדאַמענטאַל געדאַנק איז יידעניקאַל צו אַז פון רעדזשיסטערינג און דערנאָך צושטעלן אַ פּאַראָל צו אַ דאַטאַבייס פֿאַר אָטענטאַקיישאַן.
סאָף
אפילו בשעת מיר האָבן פשוט געניצט ינקריפּטיד פּאַסווערדז צו ווייַזן ווי bcrypt פאַנגקשאַנז אין פּשוט פּיטהאָן קורץ זכּרון, די פאַקטיש אָנווענדלעך ליגט אין באַניצער-באַזע אַפּפּס.
דאך, דער אַרטיקל דעמאַנסטרייץ די יקערדיק מעטהאָדס צו אָרגאַניזירן דיין קאָד צו דערגרייכן דעם, אפילו אין פאַקטיש-וועלט צושטאנדן.
פֿאַר בייַשפּיל, אויב איר נוצן Flask, איר קענען צושטעלן די רעגיסטראַציע און אָטענטאַקיישאַן פעלדער דורך באַזונדער וועב פארמען אַנשטאָט פון ינפּוץ.
פון קורס, בשעת קאַמפּערינג פּאַסווערדז, איר וועט לייענען פֿון אַ דאַטאַבייס וואָס כּולל ינקריפּטיד פּאַסווערדז וואָס זענען געהאלטן אין דער עמעס וועלט.
יונה ניטש
דאנק איר פֿאַר דעם פּשוט און פּשוט דערקלערונג,
דאָס האָט מיר אַ סך געהאָלפן אין מיין איצטיקן פּרויעקט.
איך טראַכטן עס איז זייער גוט אַז דער בייַשפּיל קאָד איז לימיטעד צו די נאַקעט מינימום און נישט אָוווערלאָודיד ווי אַזוי פילע אנדערע דערקלערונגען.
בעסטער גרוס