PHP-and-MySQL/C4/MD5-Encryption/Gujarati

From Script | Spoken-Tutorial
Revision as of 18:09, 22 January 2013 by Krupali (Talk | contribs)

Jump to: navigation, search
Time Narration
0:00 નમસ્કાર. જો તમને php ની સલામતી વિશે ચિંતિત છે, તો આ ટ્યુટોરીયલ તમને MD5 ફંક્શન વિષે બતાવશે.
0:09 આ એક પૂર્વનિર્ધારિત ફંક્શન છે જે સ્ટ્રીંગને MD5 હેશમાં બદલે છે અને ડેટા ને સુરક્ષિત કરવાં માટે પરવાનગી આપે છે.
0:16 MD5 હેશ એક તરફની રીધમ ઉપયોગમાં લે છે જેથી તે ડીક્રીપ્ટ થઇ શકતું નથી - તે ફક્ત એનક્રીપ્ટ થઇ શકે છે.
0:21 MD5 હેશને શોધવાનો ફક્ત એક જ માર્ગ છે કે સ્ટ્રીંગને MD5 હેશમાં બદલો અને એ સાથે એની સરખામણી એવી સ્ટ્રીંગ સાથે કરો જે પહેલાથી જ હેશમાં બદલાયેલી છે.
0:31 હું શું કહી રહ્યી છું જો તે તમને સમજાતું નથી તો હું આ ટ્યુટોરીયલમાં તે શીખવીશ.
0:38 હું એક સ્ટ્રીંગનાં પૂર્વનિર્ધારણ દ્વારા શરૂઆત કરીશ જે મારો પાસવર્ડ રહેશે.
0:45 હું આને 'user password' સંબોધીશ અને આ 'abc' વેલ્યુ ધરાવશે.
0:55 આગળ હું 'user password e n c' નામનું એક નવું વેરીએબલ બનાવીશ જે એનક્રીપ્શન માટે હશે અને મારાં MD5 ફંકશનોને વ્યાખ્યાયિત કરીશ, જે મૂળભૂત રીતે m,d અને 5 છે.
1:09 અહીં અંદર કઈપણ હોય શકે છે તેથી તમે કંઈપણ આપી શકો છો જે તમે અહીં એનક્રીપ્ટ કરવાં ઈચ્છો છો
1:13 પણ હમણાં માટે હું મારાં યુઝર પાસવર્ડ વેરીએબલને એનક્રીપ્ટ કરીશ જે આપણે અહીં વ્યાખ્યાયિત કર્યું છે.
1:18 અને જો આપણે ફક્ત આને એકો કરીએ, તમે જોઈ શકો છો કે આપણને....,
1:27 આપણી MD5 એનક્રીપ્ટ થયેલી સ્ક્રીપ્ટની વેલ્યું મળે છે જે આ છે.
1:32 તમે જોઈ શકો છો કે આ નવસો થી ચાલુ થાય છે અને મને લાગે છે કે અહીં લગભગ 20 સામાન્ય અક્ષરો છે
1:39 પરંતુ જે કઈપણ હું વેલ્યુ માં બદલીશ, આ એટલી જ લંબાઈનું રહેશે.
1:44 ફક્ત જે વસ્તુ બદલાશે તે છે કંટેંટ [ઘટક].
1:52 તો આપણી પાસે એનક્રીપ્ટ થયેલ સ્ટ્રીંગ છે જેમાં આ હેશ જે તમે અહીં જોઈ રહ્યાં છો તે 'abc' સમાન છે.
2:00 હવે અહીં તરત જ હું એક પ્રોગ્રામ અથવા સ્ક્રીપ્ટ બનાવીશ જે યુઝરથી એક ઇનપુટ લેશે અને તે એ તપાસશે કે પાસવર્ડ 'abc' છે કે નહી.
2:10 હવે આ પરંપરાગત રીતે કરી શકવાનો માર્ગ એ છે કે એનક્રીપ્શનને બહાર કાઢો.
2:17 આપણે આ કહેવાં માટે એક સરળ તપાસ કરી શકીએ છીએ કે જો પોસ્ટ પાસવર્ડ આપણા યુઝર પાસવર્ડની બરાબર હોય તો કંઈ કરો નહી તો બીજું કંઈ કરો.
2:29 તો ઉદાહરણ તરીકે 'incorrect password' દર્શાવતી એક એરર હોઈ શકે છે અને અહીં તમે 'your password has successfully matched the user password' કહી શકો છો.
2:38 પરંતુ જ્યારે આપણે એ ડેટાને ગણતરીમાં લઈએ છીએ જે ક્યાં તો આપણી પાસે પોસ્ટ વેરીએબલોમાં છે અથવા કે ડેટાબેઝમાં છે,...
2:45 આ વેલ્યુને ડેટાબેઝથી સુચન કરવામાં આવેલ હોઈ શકે છે અને ડેટાબેઝ દુર્ભાગ્યે તૂટી શકે છે.
2:51 એટલા માટે જો ડેટાબેઝ તૂટી શકે છે તો તમે ઇચ્છશો કે તમારાં યુઝરો સાથે જોડાયેલા તમામ પાસવર્ડ એનક્રીપ્ટ થાય, જેથી તેને શોધવું અત્યંત મુશ્કેલભર્યું રહે.
3:04 દેખીતી રીતે, 'abc' બ્રેક કરવા માટે સરળ છે જેમ વારો આવે છે કારણ કે abc એક સામાન્ય પાસવર્ડ છે.
3:12 'abc' ને MD5 હેશમાં બદલી તમે તેની સરખામણી તમારાં ડેટાબેઝમાં પહેલાથી જ સંગ્રહીત થયેલ MD5 હેશ સાથે કરી શકો છો અને જો આ બે હેશો મેચ થાય તો તેમને જાણ થશે કે MD5 હેશ 'abc' બરાબર છે, જે શરૂ કરવા માટે પહેલાથી જ હેશ થયેલ હતા.
3:29 આપણે આ વેલ્યુને અહીં લઈશું - આપણું user password encrypted - અને આપણે પોસ્ટ થયેલ પાસવર્ડની એનક્રીપ્ટ થયેલ પાસવર્ડ સાથે સરખામણી કરીશું.
3:47 હવે વાસ્તવમાં આપણે 'user password enc' ની તુલના કરવાં માટે સમર્થ બનવાની જરૂર છે.
3:55 આ એનક્રીપ્ટ થયેલ માટે છે અને આ પોસ્ટ કરેલ પાસવર્ડ ન કરેલાં એનક્રીપ્ટ માટે છે.
4:01 તેથી જો તમે પોસ્ટ કરેલ પાસવર્ડની MD5 હેશ લઈ અને તેની સરખામણી સંગ્રહીત કરેલ પાસવર્ડની MD5 હેશ સાથે કરો, તો આપણે યુઝરને જણાવી શકીએ છીએ કે તેમણે સાંચો અથવા બરાબર પાસવર્ડ દાખલ કર્યો છે કે નહી.
4:14 તેથી હું કહીશ કે જો પોસ્ટ કરેલ પાસવર્ડની MD5 હેશ એ સંગ્રહીત પાસવર્ડની MD5 હેશનાં બરાબર છે, જે કે અહીં છે, આ વેરીએબલ છે જે આપણે અહીં વાપરી રહ્યાં છીએ, તો આપણે એક બરાબર મેસેજ દર્શાવીશું અથવા એક એરર મેસેજ દર્શાવીશું.
4:33 અને જો તે મેચ ન થાય તો હું કહીશ આ સ્ક્રીપ્ટ ક્લીયર કરો અને 'correct' લખો નહી તો સ્ક્રીપ્ટને કીલ કરી 'incorrect' લખો.
4:48 આ સમયે આપણે આની સરખામણી કરી શકતા નથી કારણ કે આપણે કોઈપણ વેરીએબલોને પોસ્ટ કર્યા નથી
4:53 અહીં નીચે હું એક ફોર્મ બનાવીશ.
4:57 Method [મેથડ] પણ POST [પોસ્ટ] હશે કારણ કે અહીં પોસ્ટ મેથડ ઉપયોગમાં લઇ રહ્યા છીએ
5:01 અને action [એક્શન] મારું પેજ હશે જે હમણાં 'MD5 dot php' છે.
5:08 આગળ હું આનાં બે ઘટકો બનાવીશ જે એક ઇનપુટ ટેક્સ્ટ બોક્સ છે અને હું પાસવર્ડનું નામ આપીશ.
5:14 હું આને type text તરીકે વાપરી રહ્યી છું તેનું ફક્ત એક જ કારણ છે કે તમે કંટેટ [ઘટકો] જોઈ શકો નહી તો અક્ષરો ખાલી કરવાં હેતુ તમે તેને એક પાસવર્ડ આપી શકો છો.
5:22 આગળ, મારી પાસે એક ઇનપુટ બોક્સ છે આ કહેશે કે, ચાલો હમણાં માટે ફક્ત લોગીન કહીએ કારણ કે આ એક MD5 એનક્રીપ્શન માટે એક લાક્ષણિક ઉપયોગ છે જે કે એક લોગ-ઇન સ્ક્રીપ્ટ હશે.
5:34 જયારે હું મારું પુષ્ઠ રીફ્રેશ કરું છું તમે આ સમયે 'incorrect' જોઈ શકો છો.
5:38 આવું એટલા માટે કારણ કે આપણે આપણા પોસ્ટ વેરીએબલ માટે તપાસી નથી રહ્યાં.
5:41 અહીં હું ફક્ત લખી શકત કે જો પાસવર્ડ અસ્તિત્વ ધરાવે છે ત્યારે આપણે આ સંપૂર્ણ કોડને એકો કરી શકીએ છીએ અને આને વધું વાંચવા લાયક બનાવવા માટે ઈંડેંટ [નવો ફકરો કે અવતરણ સૂચવવા લીટીના આરંભમાં થોડી જગ્યા છોડવી] કરી શકીએ છીએ. ચાલો હું આને અહીં ફરીથી લઇ આઉં.
6:00 ઠીક છે તો જો આપણો પાસવર્ડ સબમીટ [જમા કરવું] થઇ ચુક્યો છે, જેનો અર્થ એ છે કે આ ફોર્મ આ મુલ્ય સાથે જમા થઇ ચુક્યું છે ત્યારબાદ આપણે કહી રહ્યા છીએ કે "શું એનક્રીપ્ટ કરેલ પાસવર્ડનું MD5 હેશ જે કે ફોર્મમાં દાખલ કરેલ પાસવર્ડ છે, તે અહીં આપણું પોસ્ટ વેરીએબલ છે, સંગ્રહીત પાસવર્ડનાં હેશ ની બરાબર છે?"
6:18 તેથી આપણે અહીં આ if સ્ટેટમેંટમાં એનક્રીપ્ટ કરેલ ડેટા સાથે વ્યવહાર કરી રહ્યા છીએ.
6:23 જો આ મેળ ખાય છે તો આપણે આને દર્શાવી શકીએ છીએ નહી તો આપણે 'incorrect' દર્શાવી શકીએ છીએ. તો ચાલો આને ફરીથી રીફ્રેશ કરીએ.
6:29 હવે મારો પાસવર્ડ 'abc' છે તો જો હું 'Alex' ને મારાં પાસવર્ડ તરીકે ટાઈપ કરું છું, તમે જોઈ શકો છો કે આપણને એક 'incorrect' એરર મેસેજ મળે છે.
6:37 જો આપણે 'abc' ને આપણા પાસવર્ડ તરીકે ટાઈપ કરીએ છીએ, જે કે બરાબર છે, તમે જોઈ શકો છો કે આપણને એક 'correct' મેસેજ મળે છે
6:43 તમને ફક્ત કંટેંટનો એક વિચાર આપવાં હેતુ હું અહીં શું કરી શકું છું કે હું લખી શકું છું એકો અને હું 'compared' લખી શકું છું અને ચાલો આપણો યુઝર પાસવર્ડ લઈએ - વાસ્તવમાં, નહી - ચાલો આપણો એનક્રીપ્ટ કરેલ પાસવર્ડ લઈએ.
7:07 તેથી 'user password enc' ને સરખામણી કરવા હેતુ - હું ફક્ત આનાં પર અને પોસ્ટ કરેલ પાસવર્ડ પર જોડાણ કરીશ
7:14 આપણે આ તમામને એનક્રીપ્ટ કરવાં માંગીએ છીએ તેથી હું અહીં MD5 ટાઈપ કરીશ.
7:20 આ કરવાનો શ્રેષ્ઠ માર્ગ એ છે કે એક નવું વેરીએબલ અહીં ઉપર બનાવીએ કહીએ, MD5 - આને કટ [કાપવું] કરીએ - તો 'enc' અથવા કે 'submitted enc' એની બરાબર.
7:37 ત્યારબાદ આપણે અહીં આપણા વેરીએબલોની ફેરબદલી કરી શકીએ છીએ જેથી કરીને તે તેને થોડું વધારે...,થોડું વધારે ફ્લ્યુંએન્ટ [સહજ] બનાવે.
7:49 આ આનાં કાર્યને કંઈક વધારે સારું કે કંઈક ઓછું બનાવતું નથી.
7:56 પરંતુ અહીં જયારે આપણે 'abc' ને પસંદ કરીએ છીએ અને આપણે લોગ ઇન ક્લિક કરીએ છીએ અને આપણને એક એરર મળે છે.
8:01 ચાલો પાછા આવીને તપાસીએ..... અને આવું એટલા માટે કારણ કે આપણને આને છગડીયા કૌંસમાં રાખવાની જરૂર છે કારણ કે આપણને અહીં કોડની બે લાઈનો [રેખાઓ] મળી છે.
8:16 ચાલો પાછા જઈએ, back [બેક] ક્લિક કરીએ, 'abc' પસંદ કરીએ અને આપણે અહીં આની સરખામણી અહીં આનાથી કરી રહ્યા છીએ.
8:26 ચાલો આને અહીં ફક્ત બ્રેક [ભંગાણ] કરીએ જેથી કરીને આપણે જોઈ શકીએ કે શું થઇ રહ્યું છે.
8:34 ઠીક છે તો આપણે અહીં આની સરખામણી અહીં આનાથી કરી દીધી છે.
8:38 તમે જોઈ શકો છો કે તે બરાબર એકસમાન MD5 હેશ છે, જયારે કે આ અહીં સંગ્રહીત પાસવર્ડ છે અને આ એ પાસવર્ડ છે જે આપણે સબમીટ કર્યા છે.
8:46 તો તમે જોઈ શકો છો કે આપણે આપણા સબમીટ કરેલ encrypted ને આપણા સંગ્રહીત encrypted થી તપાસ કરી રહ્યા છીએ.
8:51 આના ઘણા ઉપયોગો છે, તમે આને ડેટાબેઝોમાં વાપરી શકો છો જયારે ડેટાબેઝમાં એક યુઝરને રજીસ્ટર [નોંધણી કરવી] કરી રહ્યા હોવ, પાસવર્ડ એનક્રીપ્ટ કરીને પછી તેને સંગ્રહીત કરો.
8:59 જો તમે એક પાસવર્ડ માટે લોગ ઇન ફોર્મમાં તપાસ કરી રહ્યા છો, તો લોગ ઇન ફોર્મમાં યુઝર દ્વારા દાખલ કરેલ પાસવર્ડને એનક્રીપ્ટ કરો અને તેને ડેટાબેઝનાં એનક્રીપ્ટ કરેલ પાસવર્ડથી તપાસો.
9:08 તો તમે જોઈ શકો છો કે આનાં ઘણાં ઉપયોગ છે જો વાપરવામાં આવે અને ડીકલેર [જાહેર કરવું] કરવામાં આ ખરેખર સરળ છે. તમને અહીં ફક્ત MD5 ફંક્શનની જરૂર છે.
9:16 અત્યારે ખરેખરમાં તમને MD ફંકશનો પર બસ આટલું જ જાણવાની અને કેવી રીતે આને વાપરવું છે અને આને તમારા ફોર્મમાં કેવી રીતે લાગુ કરવું એ જાણવાની જરૂર છે.
9:23 ઠીક છે જોવાબદ્દલ આભાર.
9:26 મારી પાસે બીજાં કેટલાક સિક્યુંરીટી [સલામતી] ટ્યુટોરીયલો છે જે આવી રહ્યાં છે તેથી એની માટે જુઓ. આવજો.
9:29 સ્પોકન ટ્યુટોરીયલ યોજના માટે ભાષાંતર કરનાર હું, જ્યોતી સોલંકી આઈઆઈટી મુંબઈ તરફથી વિદાય લઉં છું.

Contributors and Content Editors

Jyotisolanki, Krupali