Base64 კოდირება

Base64 Encoding ხელსაწყოთი შეგიძლიათ დაშიფროთ შეყვანილი ტექსტი Base64 მეთოდით. თუ გსურთ, შეგიძლიათ დაშიფრული Bas64 კოდის გაშიფვრა Base64 Decode ხელსაწყოთი.

რა არის Base64 კოდირება?

Base64 Encoding არის კოდირების სქემა, რომელიც საშუალებას აძლევს ორობითი მონაცემების ტრანსპორტირებას გარემოში, რომელიც იყენებს სიმბოლოების მხოლოდ ზოგიერთ შეზღუდულ დაშიფვრას (გარემოები, სადაც არ არის შესაძლებელი ყველა სიმბოლოს კოდის გამოყენება, როგორიცაა xml, html, სკრიპტი, მყისიერი შეტყობინების აპლიკაციები). სიმბოლოების რაოდენობა ამ სქემაში არის 64, ხოლო სიტყვა Base64 რიცხვი 64 აქედან მოდის.

რატომ გამოვიყენოთ Base64 კოდირება?

Base64 კოდირების საჭიროება გამომდინარეობს პრობლემებიდან, რომლებიც წარმოიქმნება, როდესაც მედია გადაიცემა ნედლი ორობითი ფორმატით ტექსტზე დაფუძნებულ სისტემებზე. იმის გამო, რომ ტექსტზე დაფუძნებული სისტემები (როგორიცაა ელ. ფოსტა) ინტერპრეტაციას უკეთებენ ორობით მონაცემებს, როგორც სიმბოლოების ფართო სპექტრს, მათ შორის სპეციალური ბრძანების სიმბოლოებს, გადაცემის საშუალებაზე გადაცემული ორობითი მონაცემების უმეტესობა არასწორად არის განმარტებული ამ სისტემების მიერ და იკარგება ან ზიანდება გადაცემის დროს. პროცესი.

ასეთი ბინარული მონაცემების დაშიფვრის ერთ-ერთი მეთოდი, რომელიც თავიდან აიცილებს გადაცემის ასეთ პრობლემებს, არის მათი გაგზავნა ჩვეულებრივი ASCII ტექსტის სახით Base64 კოდირებულ ფორმატში. ეს არის ერთ-ერთი ტექნიკა, რომელსაც იყენებს MIME სტანდარტი, რათა გაგზავნოს სხვა მონაცემები, გარდა ჩვეულებრივი ტექსტისა. ბევრი პროგრამირების ენა, როგორიცაა PHP და Javascript, მოიცავს Base64 კოდირების და დეკოდირების ფუნქციებს Base64 კოდირების გამოყენებით გადაცემული მონაცემების ინტერპრეტაციისთვის.

Base64 კოდირების ლოგიკა

Base64 კოდირებით, 3 * 8 ბიტი = 24 ბიტი მონაცემები, რომლებიც შედგება 3 ბაიტისაგან, იყოფა 6 ბიტიან 4 ჯგუფად. ამ 4 6-ბიტიანი ჯგუფის [0-64] შორის ათობითი მნიშვნელობების შესაბამისი სიმბოლოები ემთხვევა Base64 ცხრილიდან დაშიფვრას. Base64 კოდირების შედეგად მიღებული სიმბოლოების რაოდენობა უნდა იყოს 4-ის ჯერადი. დაშიფრული მონაცემები, რომლებიც არ არის 4-ის ჯერადი, არ არის მართებული Base64 მონაცემები. Base64 ალგორითმით კოდირებისას, როდესაც კოდირება დასრულებულია, თუ მონაცემთა სიგრძე არ არის 4-ის ჯერადი, კოდირების ბოლოს ემატება სიმბოლო „=" (თანაბარი), სანამ ის არ იქნება 4-ის ჯერადი. მაგალითად, თუ კოდირების შედეგად გვაქვს 10-სიმბოლოიანი Bas64 კოდირებული მონაცემები, ბოლოს უნდა დაემატოს ორი „==".

Base64 კოდირების მაგალითი

მაგალითად, აიღეთ სამი ASCII ნომერი 155, 162 და 233. ეს სამი რიცხვი ქმნის ორობით ნაკადს 100110111010001011101001. ბინარული ფაილი, როგორიცაა გამოსახულება, შეიცავს ორობით ნაკადს, რომელიც მუშაობს ათობით ან ასობით ათასი ნულისა და ერთისთვის. Base64 შიფრატორი იწყება ბინარული ნაკადის ექვს სიმბოლოს ჯგუფებად დაყოფით: 100110 111010 001011 101001. თითოეული ეს დაჯგუფება ითარგმნება 38, 58, 11 და 41 ნომრებად. ექვსნიშნა ორობითი ნაკადი გარდაიქმნება ორობით (ან ძირითად) შორის. 2) ათწილადამდე (ფუძე-10) სიმბოლოებით, ყოველი მნიშვნელობის კვადრატში, რომელიც წარმოდგენილია ბინარულ მასივში პოზიციური კვადრატით 1-ით. მარჯვნიდან დაწყებული და მარცხნივ გადაადგილება და ნულიდან დაწყებული, ბინარულ ნაკადში მნიშვნელობები წარმოადგენს 2^0, შემდეგ 2^1, შემდეგ 2^2, შემდეგ 2^3, შემდეგ 2^4, შემდეგ 2^ 5.

აქ არის კიდევ ერთი გზა, რომ შევხედოთ მას. მარცხნიდან დაწყებული, თითოეული პოზიცია ღირს 1, 2, 4, 8, 16 და 32. თუ სლოტს აქვს ორობითი ნომერი 1, თქვენ დაამატეთ ეს მნიშვნელობა; თუ სლოტს აქვს 0, თქვენ აკლიათ. ორობითი მასივი 100110 ბრუნავს 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 ათობითი + 4 + 0 + 0 + 32. Base64 კოდირება იღებს ამ ორობით სტრიქონს და ყოფს მას 6-ბიტიან მნიშვნელობებად 38, 58, 11 და 41. საბოლოოდ, ეს რიცხვები გარდაიქმნება ASCII სიმბოლოებად Base64 კოდირების ცხრილის გამოყენებით.