डिकोड परिणाम
एन्कोड परिणाम
Base64 के बारे में
Base64, 7-बिट प्रिंट करने योग्य ASCII वर्णों का उपयोग करने वाली एक एन्कोडिंग योजना है। मुख्य रूप से ईमेल में, 8-बिट डेटा को 7-बिट डेटा पथ पर स्थानांतरित करने के लिए इसका उपयोग किया जाता है।
Base64 में, डेटा को 6 बिट्स में विभाजित किया जाता है, और उन्हें अल्फ़ान्यूमेरिक (A-Z, a-z, 0-9) और प्रतीकों (+, /) में परिवर्तित करके व्यक्त किया जाता है। 4 वर्णों के समूह में परिवर्तित किया जाता है, और यदि अंत में 4 वर्ण नहीं हैं, तो अंत में बराबर चिह्न (=) से पैडिंग की जाती है।
इसके अलावा, RFC 1421 (PEM: Privacy-Enhanced Mail) में हर 64 वर्णों के बाद, और RFC 2045 (MIME) में हर 76 वर्णों के बाद नई लाइन (newline) का नियम है।
Base64 वर्ण रूपांतरण तालिका निम्नानुसार है।
| 6-बिट डेटा | Base64 वर्ण |
|---|---|
| 000000 | A |
| 000001 | B |
| 000010 | C |
| 000011 | D |
| 000100 | E |
| 000101 | F |
| 000110 | G |
| 000111 | H |
| 001000 | I |
| 001001 | J |
| 001010 | K |
| 001011 | L |
| 001100 | M |
| 001101 | N |
| 001110 | O |
| 001111 | P |
| 010000 | Q |
| 010001 | R |
| 010010 | S |
| 010011 | T |
| 010100 | U |
| 010101 | V |
| 010110 | W |
| 010111 | X |
| 011000 | Y |
| 011001 | Z |
| 011010 | a |
| 011011 | b |
| 011100 | c |
| 011101 | d |
| 011110 | e |
| 011111 | f |
| 100000 | g |
| 100001 | h |
| 100010 | i |
| 100011 | j |
| 100100 | k |
| 100101 | l |
| 100110 | m |
| 100111 | n |
| 101000 | o |
| 101001 | p |
| 101010 | q |
| 101011 | r |
| 101100 | s |
| 101101 | t |
| 101110 | u |
| 101111 | v |
| 110000 | w |
| 110001 | x |
| 110010 | y |
| 110011 | z |
| 110100 | 0 |
| 110101 | 1 |
| 110110 | 2 |
| 110111 | 3 |
| 111000 | 4 |
| 111001 | 5 |
| 111010 | 6 |
| 111011 | 7 |
| 111100 | 8 |
| 111101 | 9 |
| 111110 | + |
| 111111 | / |
उदाहरण के लिए, "Hello" को Base64 में बदलने पर परिणाम इस प्रकार होगा।
1. बाइनरी प्रतिनिधित्व में बदलें।
01001000 01100101 01101100 01101100 01101111 (US-ASCII / UTF-8 के मामले में)
2. हर 6 बिट में विभाजित करें। यदि 6 बिट से कम हैं, तो अंत में "0" से पैडिंग करें।
010010 000110 010101 101100 011011 000110 111100
3. रूपांतरण तालिका का उपयोग करके वर्णों में बदलें। 4 वर्णों के समूह में बदलें, और यदि 4 वर्णों से कम हैं, तो अंत में "=" से पैडिंग करें।
SGVs bG8=
4. सभी वर्णों को जोड़कर Base64 का रूपांतरण परिणाम प्राप्त करें।
SGVsbG8=
E-mail का MIME संदेश हेडर प्रारूप (Format) (RFC 2047)
DenCode, निम्नलिखित MIME संदेश हेडर प्रारूप (RFC 2047) के डिकोडिंग का भी समर्थन करता है। इस प्रारूप का उपयोग तब किया जाता है जब ईमेल के विषय या पते में ASCII के अलावा अन्य वर्ण शामिल होते हैं।
Subject: =?UTF-8?B?44K144Oz44OX44Or?=
डिकोडिंग के बाद परिणाम इस प्रकार है।
Subject: サンプル
JSON Web Token (RFC 7519)
JSON Web Token (JWT) एक टोकन प्रारूप है जो Base64url एन्कोडिंग का उपयोग करके JSON डेटा को संक्षिप्त रूप में प्रस्तुत करता है। यह वेब अनुप्रयोगों में प्रमाणीकरण और प्राधिकरण के लिए व्यापक रूप से उपयोग किया जाता है और RFC 7519 में मानकीकृत है।
एक JWT तीन तत्वों से बना होता है जो डॉट (.) द्वारा अलग किए जाते हैं।
<Header>.<Payload>.<Signature>
प्रत्येक तत्व की भूमिका इस प्रकार है।
| तत्व | विवरण |
|---|---|
| Header | टोकन प्रकार (typ) और हस्ताक्षर एल्गोरिथ्म (alg) जैसी मेटाडेटा जानकारी वाला JSON ऑब्जेक्ट |
| Payload | उपयोगकर्ता ID और समाप्ति समय जैसी जानकारी वाला JSON ऑब्जेक्ट |
| Signature | हेडर और पेलोड की छेड़छाड़ का पता लगाने के लिए उपयोग किया जाने वाला हस्ताक्षर डेटा |
हेडर और पेलोड प्रत्येक Base64url एन्कोडेड होते हैं। Base64url मानक Base64 की तुलना में "+" को "-" से और "/" को "_" से बदलता है, और पैडिंग "=" को छोड़ देता है (RFC 4648)। इससे उन्हें URL और HTTP हेडर में सुरक्षित रूप से शामिल किया जा सकता है।
उदाहरण के लिए, निम्नलिखित JWT को डिकोड करने पर हेडर और पेलोड JSON के रूप में प्राप्त होते हैं।
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
हेडर और पेलोड में शामिल मुख्य फ़ील्ड (क्लेम) निम्नलिखित हैं।
| फ़ील्ड | नाम | विवरण |
|---|---|---|
| alg | Algorithm | हस्ताक्षर या एन्क्रिप्शन के लिए उपयोग किया जाने वाला एल्गोरिथ्म (जैसे HS256, RS256, ES256) |
| typ | Type | टोकन का प्रकार (आमतौर पर "JWT") |
| cty | Content Type | पेलोड का कंटेंट प्रकार (नेस्टेड JWT के लिए "JWT") |
| kid | Key ID | हस्ताक्षर सत्यापन के लिए उपयोग की जाने वाली कुंजी का पहचानकर्ता |
| jku | JWK Set URL | हस्ताक्षर सत्यापन के लिए उपयोग किए जाने वाले JWK सेट का संदर्भ URL |
| x5u | X.509 URL | हस्ताक्षर सत्यापन के लिए उपयोग की जाने वाली X.509 प्रमाणपत्र श्रृंखला का संदर्भ URL |
| x5t | X.509 Certificate SHA-1 Thumbprint | हस्ताक्षर सत्यापन के लिए उपयोग किए जाने वाले X.509 प्रमाणपत्र का SHA-1 थंबप्रिंट |
| फ़ील्ड | नाम | विवरण |
|---|---|---|
| iss | Issuer | टोकन का जारीकर्ता |
| sub | Subject | टोकन का विषय (जैसे उपयोगकर्ता ID) |
| aud | Audience | टोकन का प्राप्तकर्ता |
| exp | Expiration Time | टोकन की समाप्ति समय (Unix टाइमस्टैम्प) |
| nbf | Not Before | जिस समय से पहले टोकन मान्य नहीं है (Unix टाइमस्टैम्प) |
| iat | Issued At | टोकन जारी होने का समय (Unix टाइमस्टैम्प) |
| jti | JWT ID | टोकन का अद्वितीय पहचानकर्ता |