MR.B4A 220 ارسال شده در 19 مهر، 2025 اشتراک گذاری ارسال شده در 19 مهر، 2025 برای دریافت سورس و کتابخانه های موردنیاز b4a، در کانال ما عضو شوید کانال هرروز یا یک روز درمیون با سورس های رایگان b4a بروزرسانی میشود https://t.me/programmingwithb4a https://splus.ir/basic4android_langueg https://eitaa.com/basic4androidlan 🔐 امنیت در b4a ( قسمت پنجم ) #️⃣ رمزگذاری یا Encryption *️⃣ رمزگذاری (Encryption) یعنی تبدیل اطلاعات از حالت قابل خواندن (مثل متن ساده) به حالتی غیرقابل خواندن، بهطوری که فقط افراد مجاز با داشتن "کلید رمزگشایی" بتوانند دوباره آن اطلاعات را بخوانند. ☑️ در برنامهنویسی، از رمزگذاری استفاده میکنیم تا: اطلاعات حساس (مثل رمز عبور، شماره کارت، پیامها و...) در امان باشند، جلوی دسترسی غیرمجاز گرفته شود، امنیت اپلیکیشن بالا بره. ©️ مثلاً اگه کاربر یه رمز عبور وارد کنه، ما اون رو رمزگذاری میکنیم تا اگه کسی به دیتابیس یا فایلها دسترسی پیدا کرد، نتونه رمز رو ببینه! ™️ در B4A میتونیم از الگوریتمهایی مثل AES، Base64 یا MD5 برای رمزگذاری استفاده کنیم. 1️⃣ رمزگذاری و رمزگشایی با Base64 در B4A Sub Activity_Create(FirstTime As Boolean) Dim originalText As String = "سلام دنیا" ' تبدیل متن به آرایه بایت Dim data() As Byte = originalText.GetBytes("UTF8") ' رمزگذاری با Base64 Dim encoded As String = su.EncodeBase64(data) Log("رمزگذاری شده: " & encoded) ' رمزگشایی Dim decodedBytes() As Byte = su.DecodeBase64(encoded) Dim decodedText As String = BytesToString(decodedBytes, 0, decodedBytes.Length, "UTF8") Log("رمزگشایی شده: " & decodedText) End Sub EncodeBase64: دادهها رو رمزگذاری میکنه به رشتهای از کاراکترهای قابل انتقال. DecodeBase64: همون دادهها رو برمیگردونه به حالت اصلی. مناسب برای ارسال داده در اینترنت یا ذخیرهسازی ساده. نکته: Base64 رمزگذاری واقعی امنیتی نیست! فقط دادهها رو به شکل خوانا و فشردهتر درمیاره. برای امنیت واقعی باید از الگوریتمهایی مثل AES استفاده کنی. 2️⃣ مثال: رمزگذاری و رمزگشایی با AES در B4A Sub Activity_Create(FirstTime As Boolean) Dim key As String = "1234567890123456" ' کلید باید دقیقاً 16 بایت باشه Dim iv As String = "abcdefghijklmnop" ' مقدار اولیه (Initial Vector) هم باید 16 بایت باشه Dim originalText As String = "سلام دنیا" ' رمزگذاری Dim encrypted() As Byte = AES_Encrypt(originalText, key, iv) Dim encryptedBase64 As String = su.EncodeBase64(encrypted) Log("متن رمزگذاری شده (Base64): " & encryptedBase64) ' رمزگشایی Dim decrypted() As Byte = AES_Decrypt(su.DecodeBase64(encryptedBase64), key, iv) Dim decryptedText As String = BytesToString(decrypted, 0, decrypted.Length, "UTF8") Log("متن رمزگشایی شده: " & decryptedText) End Sub ' تابع رمزگذاری با AES Private Sub AES_Encrypt(Text As String, Key As String, IV As String) As Byte() Dim c As B4XCipher Return c.Encrypt(Text.GetBytes("UTF8"), Key.GetBytes("UTF8"), IV.GetBytes("UTF8")) End Sub ' تابع رمزگشایی با AES Private Sub AES_Decrypt(Data() As Byte, Key As String, IV As String) As Byte() Dim c As B4XCipher Return c.Decrypt(Data, Key.GetBytes("UTF8"), IV.GetBytes("UTF8")) End Sub کلید (Key) و IV باید دقیقاً 16 بایت (کاراکتر) باشن. از کلاس B4XCipher استفاده شده که برای AES طراحی شده. خروجی رمزگذاری رو با Base64 ذخیره کردیم که خواناتر و قابل انتقال باشه. نکته: برای استفاده از B4XCipher باید کتابخانهی B4XEncryption رو به پروژه اضافه کنی. (از طریق Libs) در ادامه مثالی ساده برای تولید هش MD5 در B4A رو برات مینویسم. MD5 برای رمزگذاری یکطرفه استفاده میشه، یعنی نمیشه اون رو برگردوند به حالت اصلی — بیشتر برای بررسی صحت داده یا ذخیره رمز عبور استفاده میشه. Sub Activity_Create(FirstTime As Boolean) Dim text As String = "mypassword" Dim md5Hash As String = GetMD5(text) Log("متن اصلی: " & text) Log("هش MD5: " & md5Hash) End Sub 3️⃣' تابع ساخت هش MD5 Sub GetMD5(text As String) As String Dim md As MessageDigest md.Initialize("MD5") Return md.GetMessageDigest(text.GetBytes("UTF8")) End Sub MessageDigest یک کلاس داخلی در B4A هست که برای تولید هشهایی مثل MD5، SHA1 و SHA256 استفاده میشه. هش MD5 همیشه 32 کاراکتر طول داره. این نوع رمزگذاری یکطرفه هست؛ یعنی نمیتونی اون رو رمزگشایی کنی. نکته: MD5 امروزه دیگه خیلی امن نیست برای کارهایی مثل رمز عبور — بهتره از SHA-256 استفاده کنی برای امنیت بیشتر. تهیه و تنظیم مرتضی صباغی MR.B4A 🛑 محصولات MR.B4A ضبط صدا https://zarinp.al/602356 ابزارهای انیمیشنی https://zarinp.al/582228 کتاب پیشرفته https://zarinp.al/581211 کیوآرکد اسکنر https://zarinp.al/724103 قاب عکس https://zarinp.al/725250 سورس دفترچه یادداشت https://zarinp.al/725935 تقویم شمسی https://zarinp.al/726030 مودم ( کتاب پیشرفته آفلاین ) https://zarinp.al/727010 عکس به پی دی اف https://zarinp.al/727356 پکیج آنلاین https://zarinp.al/728862 آهنگ پیشواز https://zarinp.al/729276 🌕 درصورت خرید هر سورس، داخل تلگرام و یا واتس اپ و یا ایتا رسید پول خود را بفرستید تا سورس به همراه کتابخانه برای شما ارسال شود. واتس اپ 09377828985 تلگرام @Morteza_b4a ایتا https://eitaa.com/mortezasabaghi 🛎️ اپلیکیشن ها شماره ساز حرفه ای https://cafebazaar.ir/app/ir.number.generator.mr.b4a پروژت چه قدر می ارزه؟! https://cafebazaar.ir/app/ir.project.cost.estimation.mr.b4a #b4a #basic4android #source_code #programming #android #b4x #MR_B4A #secure_in_b4a #بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #امنیت_در_بیسیک_فور_اندروید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.