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

From Script | Spoken-Tutorial
Revision as of 11:14, 23 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 IIT Bombay તરફથી સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટ માટે ભાષાંતર કરનાર હું, જ્યોતી સોલંકી વિદાય લઉં છું.

Contributors and Content Editors

Jyotisolanki, Krupali