எம்.டி.5 ஹாஷ் உருவாக்கி
எங்கள் வலை அடிப்படையிலான கருவியுடன் உடனடி எம்.டி.5 ஹாஷ்களை உருவாக்குங்கள். எதாவது உரையை உள்ளிடுங்கள் அல்லது உள்ளடக்கத்தை ஒட்டுங்கள் அதன் எம்.டி.5 ஹாஷை கணக்கிட. தனியுரிமைக்காக கிளையன்ட்-பக்கம் செயலாக்கம், உடனடி முடிவுகள் மற்றும் எளிதான நகலெடுக்க-கிளிப்போர்டு செயல்பாடு ஆகியவற்றைக் கொண்டுள்ளது. தரவின் ஒருங்கிணைப்புச் சோதனைகள், கோப்பு சரிபார்ப்பு மற்றும் பொதுவான கிரிப்டோகிராபிக் நோக்கங்களுக்கு உகந்தது.
எம்டி5 ஹாஷ் உருவாக்கி
ஆவணங்கள்
MD5 ஹாஷ் உருவாக்கி
அறிமுகம்
MD5 (Message Digest algorithm 5) ஹாஷ் உருவாக்கி என்பது பயனர்களுக்கு எந்தவொரு உள்ளீட்டு உரையின் MD5 ஹாஷ் ஐ விரைவாக கணக்கிட அனுமதிக்கும் எளிய வலை அடிப்படையிலான கருவி ஆகும். MD5 என்பது 128-பிட் (16-பைட்) ஹாஷ் மதிப்பை உருவாக்கும் பரவலாகப் பயன்படுத்தப்படும் கிரிப்டோகிராஃபிக் ஹாஷ் செயல்முறை ஆகும், இது பொதுவாக 32-எண் ஹெக்சாடெசிமல் எண்ணாக வெளிப்படுகிறது. இந்த கருவி MD5 ஹாஷ்களை உருவாக்குவதற்கான பயனர் நட்பு இடைமுகத்தை வழங்குகிறது, இது தரவின் நிலைத்தன்மை சரிபார்க்கும், கடவுச்சொல் ஹாஷிங் (எனினும் பாதுகாப்பு முக்கியமான பயன்பாடுகளுக்காக பரிந்துரைக்கப்படவில்லை) மற்றும் கோப்பு சரிபார்க்கும் போன்ற பல்வேறு பயன்பாடுகளுக்கு பயனுள்ளதாக இருக்கலாம்.
MD5 எப்படி வேலை செய்கிறது
MD5 என்பது எந்தவொரு உள்ளீட்டை (அல்லது "செய்தி") எடுத்துக்கொண்டு 128-பிட் ஹாஷ் மதிப்பை உருவாக்கும் ஒரே வழி செயல்முறை ஆகும். இந்த செயல்முறை பின்வருமாறு செயல்படுகிறது:
- உள்ளீட்டு செய்தியை 512 பிட் அளவுக்கு வகுக்கப்படும்படி பூர்த்தி செய்க.
- நான்கு 32-பிட் சொற்களில் பிரிக்கப்பட்ட 128-பிட் மாநிலத்தை தொடங்குங்கள்.
- நான்கு சுற்றுகளின் செயல்பாடுகள் மூலம் உள்ளீட்டை 512-பிட் தொகுதிகளில் செயலாக்குங்கள்.
- இறுதியாக 128-பிட் மாநிலத்தை MD5 ஹாஷாக வெளியிடுங்கள்.
உறுதியாக்கப்பட்ட ஹாஷின் சில முக்கிய பண்புகள் உள்ளன:
- இது நிர்ணயிக்கப்பட்டது: ஒரே உள்ளீடு எப்போதும் ஒரே ஹாஷ் உருவாக்குகிறது.
- இது எந்தவொரு தரவிற்கும் கணக்கிடுவதற்கு விரைவாக உள்ளது.
- ஒரு குறிப்பிட்ட ஹாஷ் மதிப்பை வழங்கும் உள்ளீட்டை உருவாக்குவது (முன் படம் எதிர்ப்பு).
- ஒரே ஹாஷ் மதிப்புடன் இரண்டு மாறுபட்ட உள்ளீடுகளை கண்டுபிடிப்பது (மோதல் எதிர்ப்பு, எனினும் MD5 இன் மோதல் எதிர்ப்பு முற்றிலும் முறியடிக்கப்பட்டுள்ளது).
MD5 ஹாஷ் உருவாக்கியைப் பயன்படுத்துவது
எங்கள் வலை அடிப்படையிலான MD5 ஹாஷ் உருவாக்கி எளிய இடைமுகத்தை வழங்குகிறது:
- உரை உள்ளீட்டு புலம்: நீங்கள் ஹாஷ் செய்ய விரும்பும் உரையை உள்ளிட அல்லது ஒட்டவும்.
- உருவாக்கு பொத்தான்: உள்ளீட்டு உரையின் MD5 ஹாஷ் ஐ கணக்கிட இதனை சொடுக்கவும்.
- வெளியீட்டு புலம்: உருவாக்கப்பட்ட 32-அணி ஹெக்சாடெசிமல் MD5 ஹாஷ் காட்சியளிக்கிறது.
- நகல் பொத்தான்: உருவாக்கப்பட்ட ஹாஷ் ஐ உங்கள் கிளிப்போர்ட்டுக்கு எளிதாக நகலெடுக்க அனுமதிக்கிறது.
உருவாக்கியைப் பயன்படுத்த:
- உங்கள் உரையை உள்ளீட்டு புலத்தில் உள்ளிடுங்கள் அல்லது ஒட்டுங்கள்.
- "உருவாக்கு" பொத்தானை சொடுக்கவும் (அல்லது நீங்கள் எழுதும்போது ஹாஷ் தானாகவே உருவாக்கப்படும்).
- MD5 ஹாஷ் வெளியீட்டு புலத்தில் தோன்றும்.
- ஹாஷ் ஐ உங்கள் கிளிப்போர்ட்டுக்கு நகலெடுக்க "நகல்" பொத்தானை சொடுக்கவும்.
கிளையன்ட்-பக்கம் செயலாக்கம்
இந்த MD5 ஹாஷ் உருவாக்கி முழுமையாக ஜாவாஸ்கிரிப்டில் செயலாக்கப்பட்டுள்ளது மற்றும் உங்கள் வலை உலாவியில் கிளையன்ட்-பக்கம் இயக்கப்படுகிறது. இந்த அணுகுமுறை பல நன்மைகளை வழங்குகிறது:
- தனியுரிமை: உங்கள் உள்ளீட்டு உரை உங்கள் சாதனத்தை விட்டு வெளியே போகாது, உங்கள் தரவின் ரகசியத்தை உறுதி செய்கிறது.
- வேகம்: எந்தவொரு சேவையக சுற்றுப்பாதைகளும் இல்லாமல் ஹாஷ்கள் உடனடியாக உருவாக்கப்படுகின்றன.
- ஆஃப்லைன் பயன்பாடு: பக்கம் ஏற்கனவே ஏற்றப்பட்ட பிறகு கருவி இணைய இணைப்பின்றி செயல்படலாம்.
இந்த செயலாக்கம் நவீன வலை உலாவிகளில் கிரிப்டோகிராஃபிக் செயல்பாடுகளை வழங்கும் வலை கிரிப்டோ API ஐப் பயன்படுத்துகிறது:
1async function generateMD5Hash(input) {
2 const encoder = new TextEncoder();
3 const data = encoder.encode(input);
4 const hashBuffer = await crypto.subtle.digest('MD5', data);
5 const hashArray = Array.from(new Uint8Array(hashBuffer));
6 const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
7 return hashHex;
8}
9
பயன்பாட்டு வழிகள்
MD5 ஹாஷிங் பல்வேறு பயன்பாடுகளை கொண்டுள்ளது, இதில்:
- கோப்பு நிலைத்தன்மை சரிபார்க்கும்: ஒரு கோப்பு பரிமாற்றம் அல்லது சேமிப்பின் போது மாற்றப்படவில்லை என்பதை உறுதிப்படுத்தவும்.
- தரவுத்தொகுப்புகள்: பெரிய தரவுத்தொகுப்புகளுக்கு விரைவான தேடல் விசைகளை உருவாக்கவும்.
- கேஷிங் முறைமைகள்: கேஷ் செய்யப்பட்ட உள்ளடக்கத்திற்கான தனித்துவமான அடையாளங்களை உருவாக்கவும்.
- டிஜிட்டல் கையொப்பங்கள்: மேலும் சிக்கலான டிஜிட்டல் கையொப்ப திட்டங்களில் (எனினும், பாதுகாப்பான அல்கொரிதங்கள் பரிந்துரைக்கப்படுகின்றன).
எனினும், MD5 இப்போது கிரிப்டோகிராஃபிக்காக பாதுகாப்பானதாகக் கருதப்படவில்லை மற்றும் கடவுச்சொல் சேமிப்பதற்கோ அல்லது SSL சான்றிதழ்களுக்கு பயன்படுத்தப்படக்கூடாது.
வரலாறு
MD5 ஐ 1991 இல் ரொனால்ட் ரிவெஸ்ட் வடிவமைத்தார், இது MD4 என்ற முந்தைய ஹாஷ் செயல்முறையை மாற்றுவதற்காக வடிவமைக்கப்பட்டது. இந்த அல்கொரிதம் RFC 1321 இல் ஒரு குறிப்பிட்ட செயலாக்கமாக செயல்படுத்தப்பட்டது, இது 1992 இல் இணைய பொறியியல் பணியகம் (IETF) மூலம் வெளியிடப்பட்டது.
முதலில், MD5 பல்வேறு பாதுகாப்பு பயன்பாடுகளில் மற்றும் கோப்புகளின் நிலைத்தன்மையை சரிபார்க்கும் போது பரவலாகப் பயன்படுத்தப்பட்டது. எனினும், காலக்கெடுவில் பல குறைகள் கண்டுபிடிக்கப்பட்டன:
- 1996 இல், ஒரு குறை கண்டுபிடிக்கப்பட்டது, இது முழுமையான மோதலாக இல்லாதது, ஆனால் கவலையை ஏற்படுத்துவதற்குப் போதுமானது.
- 2004 இல், மேலும் கடுமையான குறைகள் கண்டுபிடிக்கப்பட்டன, மேலும் மோதல் தாக்குதல்களை சாத்தியமாக்கியது.
- 2006 இல், ஆராய்ச்சியாளர்கள் ஒரே MD5 ஹாஷ் உடன் இரண்டு மாறுபட்ட கோப்புகளை உருவாக்க முடிந்தது.
இந்த குறைகள் காரணமாக, MD5 பாதுகாப்பு முக்கியமான பயன்பாடுகளில் பயன்படுத்தப்படுவதற்கான பரிந்துரை இல்லை. பல நிறுவனங்கள் மற்றும் தரநிலைகள் MD5 ஐ அதிக பாதுகாப்பான மாற்றங்களுக்காக ஒழுங்கு செய்துள்ளன.
குறியீட்டு எடுத்துக்காட்டுகள்
பல்வேறு நிரலாக்க மொழிகளில் MD5 ஹாஷ்களை உருவாக்குவதற்கான எடுத்துக்காட்டுகள் இங்கே உள்ளன:
1import hashlib
2
3def md5_hash(text):
4 return hashlib.md5(text.encode()).hexdigest()
5
6# எடுத்துக்காட்டு பயன்பாடு
7input_text = "Hello, World!"
8hash_result = md5_hash(input_text)
9print(f"MD5 ஹாஷ் '{input_text}': {hash_result}")
10
1async function md5Hash(text) {
2 const encoder = new TextEncoder();
3 const data = encoder.encode(text);
4 const hashBuffer = await crypto.subtle.digest('MD5', data);
5 const hashArray = Array.from(new Uint8Array(hashBuffer));
6 return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
7}
8
9// எடுத்துக்காட்டு பயன்பாடு
10const inputText = "Hello, World!";
11md5Hash(inputText).then(hash => {
12 console.log(`MD5 ஹாஷ் '${inputText}': ${hash}`);
13});
14
1import java.security.MessageDigest;
2import java.nio.charset.StandardCharsets;
3
4public class MD5Example {
5 public static String md5Hash(String text) throws Exception {
6 MessageDigest md = MessageDigest.getInstance("MD5");
7 byte[] hashBytes = md.digest(text.getBytes(StandardCharsets.UTF_8));
8
9 StringBuilder hexString = new StringBuilder();
10 for (byte b : hashBytes) {
11 String hex = Integer.toHexString(0xff & b);
12 if (hex.length() == 1) hexString.append('0');
13 hexString.append(hex);
14 }
15 return hexString.toString();
16 }
17
18 public static void main(String[] args) {
19 try {
20 String inputText = "Hello, World!";
21 String hashResult = md5Hash(inputText);
22 System.out.println("MD5 ஹாஷ் '" + inputText + "': " + hashResult);
23 } catch (Exception e) {
24 e.printStackTrace();
25 }
26 }
27}
28
பாதுகாப்பு கருத்துக்கள்
MD5 இப்போது கிரிப்டோகிராஃபிக்காக பாதுகாப்பானதாகக் கருதப்படவில்லை, எனினும் அதன் வரம்புகளை புரிந்து கொள்ள முக்கியமாகும்:
- மோதல் எதிர்ப்பு: MD5 மோதல் எதிர்ப்பாக இல்லை. ஒரே MD5 ஹாஷ் உருவாக்கும் இரண்டு மாறுபட்ட உள்ளீடுகளை கண்டுபிடிப்பது கணினி மூலம் சாத்தியமாகும்.
- முன் படம் எதிர்ப்பு: எந்தவொரு நடைமுறை முன் படம் தாக்குதல்கள் கண்டுபிடிக்கப்படவில்லை, எனினும் MD5 இன் பாதுகாப்பு எல்லை நவீன தரநிலைகளால் போதுமானதாகக் கருதப்படவில்லை.
- வேகம்: MD5 இன் வேகம், ஒரு முறையாக, தற்போது கடவுச்சொல் ஹாஷிங்கிற்கான தீவிரமான தாக்குதல்களை எளிதாக்குகிறது.
இந்த பிரச்சினைகளால், MD5 ஐப் பயன்படுத்தக்கூடாது:
- கடவுச்சொல் சேமிப்பு
- டிஜிட்டல் கையொப்பங்கள்
- SSL/TLS சான்றிதழ்கள்
- எந்தவொரு கிரிப்டோகிராபிக் பாதுகாப்பு தேவைப்படும் பயன்பாடு
மாற்றுகள்
பாதுகாப்பான ஹாஷிங் தேவைப்படும் பயன்பாடுகளுக்கு, இந்த மாற்றங்களைப் பரிசீலிக்கவும்:
- SHA-256: SHA-2 குடும்பத்தின் ஒரு பகுதியாக, பரவலாகப் பயன்படுத்தப்படுகிறது மற்றும் பாதுகாப்பாகக் கருதப்படுகிறது.
- SHA-3: பாதுகாப்பு ஹாஷ் அல்கொரிதம் குடும்பத்தின் புதிய உறுப்பினர், SHA-2 க்கு அடிப்படையாகவே மாறுபட்டதாக வடிவமைக்கப்பட்டுள்ளது.
- BLAKE2: ஒரு உயர் வேக, பாதுகாப்பான ஹாஷ் செயல்முறை, MD5 க்கு வேகமாக, ஆனால் SHA-3 க்கு ஒப்பிடும்போது பாதுகாப்பு.
- Bcrypt, Scrypt, அல்லது Argon2: குறிப்பாக கடவுச்சொல் ஹாஷிங்கிற்காக, இந்த அல்கொரிதங்கள் கணினி தீவிரமான மற்றும் ஹார்ட்வேர்-வழங்கிய தாக்குதல்களுக்கு எதிர்ப்பு வழங்குவதற்காக வடிவமைக்கப்பட்டுள்ளன.
குறிப்புகள்
- Rivest, R. (1992). "MD5 செய்தி-சுருக்க அல்கொரிதம்". IETF. https://tools.ietf.org/html/rfc1321
- Turner, S., Chen, L. (2011). "MD5 செய்தி-சுருக்கம் மற்றும் HMAC-MD5 அல்கொரிதங்களுக்கு புதுப்பிக்கப்பட்ட பாதுகாப்பு கருத்துக்கள்". IETF. https://tools.ietf.org/html/rfc6151
- Wang, X., Yu, H. (2005). "MD5 மற்றும் பிற ஹாஷ் செயல்முறைகளை எப்படி உடைக்கலாம்". Cryptology - EUROCRYPT 2005 இல் முன்னேற்றங்கள்.
- Cryptography Stack Exchange. "MD5 ஏன் முறியடிக்கப்பட்டதாகக் கருதப்படுகிறது?". https://crypto.stackexchange.com/questions/1434/why-is-md5-considered-broken
- NIST. (2015). "SHA-3 தரம்: பரிமாண அடிப்படையிலான ஹாஷ் மற்றும் நீட்டிக்கக்கூடிய-வெளியீட்டு செயல்முறைகள்". https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
பின்னூட்டம்
இந்த கருவி பற்றி பின்னூட்டம் அளிக்க தொடங்க பின்னூட்டத்தை கிளிக் செய்யவும்
சம்பந்தப்பட்ட கருவிகள்
உங்கள் வேலைப்பாட்டுக்கு பயனுள்ளதாக இருக்கக்கூடிய மேலும் கருவிகளை கண்டறியவும்