آموزش رمزگذاری AESCrypt در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش رمزگذاری AESCrypt در برنامه نویسی اندروید می پردازیم از رمز گذاری AESCrypt در برنامه محبوب تلگرام استفاده شده است البته نمی شود از این گذشت که این رمزگذاری در تلگرام سفارشی سازی شده است یعنی base آن را تغییر داده اند نشود داده ها را ازش دزدید در صورتی که هم که دزدیده شود داده ها کده شده اند و رمز نگاری آنها امکان پذیر نیست .
این رمزنگاری نام های دیگری دارد
- 256-bit AES key
- CBC mode
- PKCS7Padding
- Blank
- Empty IV
برای استفاده از این کتاب خانه ابتدا باید آن را اضافه کنید.
برای اینکار ابتدا وارد Build.gradle از نوع module شده سپس در بخش dependencies خط زیر را اضافه کنید.
1 | compile 'com.scottyab:aescrypt:0.0.1' |
سپس پروژه را sync کنید . علت خطاهای احتمالی را قبلا بررسی کرده ایم در سایت واژه gradle را جستجو کنید.
Encrypt یا رمز گذاری
1 2 3 4 5 6 7 | String password = "12345"; String message = "programchi"; try { String encryptedMsg = AESCrypt.encrypt(password, message); }catch (GeneralSecurityException e){ //handle error } |
Decrypt یا رمز گشایی
1 2 3 4 5 6 7 | String password = "12345"; String encryptedMsg = "2B22cS3UC5s35WBihLBo8w=="; try { String messageAfterDecrypt = AESCrypt.decrypt(password, encryptedMsg); }catch (GeneralSecurityException e){ //handle error - could be due to incorrect password or tampered encryptedMsg } |
در صورتی می خواید Log بگیرید کد زیر را قرار دهید.
1 | AESCrypt.DEBUG_LOG_ENABLED = true; |
1 2 | AESCrypt.encrypt(final SecretKeySpec key, final byte[] iv, final byte[] message) AESCrypt.decrypt(final SecretKeySpec key, final byte[] iv, final byte[] decodedCipherText) |
این آموزش هم به پایان رسید.
موفق و موید باشید.
سلام
ممنون از آموزشهای خوبتون
این کد گذای معادل توی .Net هم داره که بشه بین برنامه و سرور هم اطلاعات را کدگذاری کرد؟
بله برای تمامی زبان ها موجود است.
لطفا اگر امکان داره کد .Net با زبان #C هم توی همین پست بزارید
در پست دیگر قرار خواهیم داد.
ممنون
سلام.
اینطور که شما گفتید هرکس که به سورس برنامه دسترسی داشته باشه می تونه اطلاعات رو رمز گشایی کنه چون کلید رو می تونه ببینه یا به هر طریقی بدست بیاره.
من چیز زیادی در مورد رمزگشایی اطلاعات نمی دونم.
هیچ راه دیگه برای استفاده از کلید وجود نداره؟
سلام
خیر باید سورس تون رو محافظت کنید ازش
آموزش زیر
https://programchi.ir/product/%d9%85%d8%ad%d8%a7%d9%81%d8%b8%d8%aa-%d8%a7%d8%b2-%d8%b3%d9%88%d8%b1%d8%b3-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/
موفق باشید.
در php چجوری میشه این اطلاعات رو دریافت و تبدیل کرد؟
با سلام ببخشید تاپیک رو بالا میارم این معادلش رو پیدا نمیکنم برای php اگه امکانش هست توضیح بدید یا ادرس سایتی رو بفرمایید با تشکر