رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • bootcamp-flutter.thumb.jpg.c5f34768cc31a793c8a88476bc49606c.jpg

پست های پیشنهاد شده

امروزه امنیت در تمامی زمینه هایی از اهمیت خاصی برخوردار است. برنامه نویسان اندروید نیز برای ذخیره سازی امن اطلاعات الگوریتم های مختلفی را در برنامه های خود پیاده سازی نمایند.با استفاده از این کتابخانه می توان اطلاعات استفاده شده در برنامه را به امنت ترین شکل ممکن رمزنگاری کرد.این کلاس قابلیت رمزگذاری و رمزگشایی را فراهم می کند.

 

برای رمزگزاری کردن از روش زیر استفاده می کنیم (encryption )

public static byte[] encryptMsg(String message, SecretKey secret)
    throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException 
{ 
   /* Encrypt the message. */
   Cipher cipher = null; 
   cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
   cipher.init(Cipher.ENCRYPT_MODE, secret); 
   byte[] cipherText = cipher.doFinal(message.getBytes("UTF-8")); 
   return cipherText; 
}

 

برای رمزگزاری کردن از روش زیر استفاده می کنیم (decryption)

public static String decryptMsg(byte[] cipherText, SecretKey secret) 
    throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidParameterSpecException, InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, UnsupportedEncodingException 
{
    /* Decrypt the message, given derived encContentValues and initialization vector. */
    Cipher cipher = null;
    cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.DECRYPT_MODE, secret); 
    String decryptString = new String(cipher.doFinal(cipherText), "UTF-8");
    return decryptString; 
}

 

complete sample:

public static SecretKey generateKey() 
    throws NoSuchAlgorithmException, InvalidKeySpecException 
{ 
    return secret = new SecretKeySpec(password.getBytes(), "AES"); 
}

public static byte[] encryptMsg(String message, SecretKey secret)
    throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException 
{ 
   /* Encrypt the message. */
   Cipher cipher = null; 
   cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
   cipher.init(Cipher.ENCRYPT_MODE, secret); 
   byte[] cipherText = cipher.doFinal(message.getBytes("UTF-8")); 
   return cipherText; 
}

public static String decryptMsg(byte[] cipherText, SecretKey secret) 
    throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidParameterSpecException, InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, UnsupportedEncodingException 
{
    /* Decrypt the message, given derived encContentValues and initialization vector. */
    Cipher cipher = null;
    cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.DECRYPT_MODE, secret); 
    String decryptString = new String(cipher.doFinal(cipherText), "UTF-8");
    return decryptString; 
}

 

To encrypt:

SecretKey secret = generateKey();
EncUtil.encryptMsg(String toEncrypt, secret))

password = omid2020

 encrypt password  = 0abc77ad6c67ddd2590aaeba44451c67d7939875

To decrypt:

EncUtil.decryptMsg(byte[] toDecrypt, secret))

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 5 ماه بعد...

سلام

خیلی پست خوبی بود 

من یه سوال دارم من برای گوشیم که اندروید است رمز گذاشته بودم اما حالا هرکاری می کنم رمزش تغییر نمی کنه و هر رمزی براش میزارم همون اولین رمز رو می پذیره و بقیه رو قبول نمی کنه چیکا می تونم انجام بدم ؟ خواهشا راهنمایی کنید.
تابلو استيل

ویرایش شده توسط panel123
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/09/05, 10:09:02، Omid Zakeri گفته است :

امروزه امنیت در تمامی زمینه هایی از اهمیت خاصی برخوردار است. برنامه نویسان اندروید نیز برای ذخیره سازی امن اطلاعات الگوریتم های مختلفی را در برنامه های خود پیاده سازی نمایند.با استفاده از این کتابخانه می توان اطلاعات استفاده شده در برنامه را به امنت ترین شکل ممکن رمزنگاری کرد.این کلاس قابلیت رمزگذاری و رمزگشایی را فراهم می کند.

 

برای رمزگزاری کردن از روش زیر استفاده می کنیم (encryption )

public static byte[] encryptMsg(String message, SecretKey secret)
    throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException 
{ 
   /* Encrypt the message. */
   Cipher cipher = null; 
   cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
   cipher.init(Cipher.ENCRYPT_MODE, secret); 
   byte[] cipherText = cipher.doFinal(message.getBytes("UTF-8")); 
   return cipherText; 
}

 

برای رمزگزاری کردن از روش زیر استفاده می کنیم (decryption)

public static String decryptMsg(byte[] cipherText, SecretKey secret) 
    throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidParameterSpecException, InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, UnsupportedEncodingException 
{
    /* Decrypt the message, given derived encContentValues and initialization vector. */
    Cipher cipher = null;
    cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.DECRYPT_MODE, secret); 
    String decryptString = new String(cipher.doFinal(cipherText), "UTF-8");
    return decryptString; 
}

 

complete sample:

public static SecretKey generateKey() 
    throws NoSuchAlgorithmException, InvalidKeySpecException 
{ 
    return secret = new SecretKeySpec(password.getBytes(), "AES"); 
}

public static byte[] encryptMsg(String message, SecretKey secret)
    throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException 
{ 
   /* Encrypt the message. */
   Cipher cipher = null; 
   cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
   cipher.init(Cipher.ENCRYPT_MODE, secret); 
   byte[] cipherText = cipher.doFinal(message.getBytes("UTF-8")); 
   return cipherText; 
}

public static String decryptMsg(byte[] cipherText, SecretKey secret) 
    throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidParameterSpecException, InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, UnsupportedEncodingException 
{
    /* Decrypt the message, given derived encContentValues and initialization vector. */
    Cipher cipher = null;
    cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.DECRYPT_MODE, secret); 
    String decryptString = new String(cipher.doFinal(cipherText), "UTF-8");
    return decryptString; 
}

 

To encrypt:

SecretKey secret = generateKey();
EncUtil.encryptMsg(String toEncrypt, secret))

password = omid2020

 encrypt password  = 0abc77ad6c67ddd2590aaeba44451c67d7939875

To decrypt:

EncUtil.decryptMsg(byte[] toDecrypt, secret))

 

 

 

سلام دقیقا  داخل  ورودی متد decrypt  و encrypt  باید چجوری بهش پاس بدیم؟ ی مثال عملی بزنید ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط Meraj-ap
      با سلام و عرض ادب بنده کارشناس محصولات امنیتی شرکت آشناایمن هستم؛
      با توجه به حیطه فعالیت توسعه دهندگان  و دغدغه های امنیتی توسعه اپلیکیشن های موبایل، باعث افتخار خواهد بود که لایسنس های امن ساز شرکت معتبر گارداسکویر، که نمایندگی انحصاری آن را شرکت آشناایمن در ایران برعهده دارد را خدمتتان معرفی کنم. شرکت گارداسکویر، توسعه دهنده ابزار رایگان پروگارد، نسخه های تجاری ابزار خود را تحت عناوین DexGuard و iXGuard ویژه پلتفرم های android و iOS عرضه می نماید. این ابزارها با ویژگی های امنیتی متعدد خود، از جمله مبهم سازی کد، اپلیکیشن شما را در برابر آسیب پذیری های ایستا و پویا مصون خواهند نمود اطلاعات بیشتر در لینک های زیر قابل دسترس می باشد : 
      https://www.ashnasecure.com/dexguard/?utm_source=Li&utm_campaign=dm_g&utm_medium=2021
       
      https://www.ashnasecure.com/ixguard/?utm_source=Li&utm_campaign=dm_g&utm_medium=2021
      شایان ذکر است تاکنون شرکت آشناایمن موفق به تامین لایسنس برای اپلیکیشن های متعدد (از جمله: همراه بانک ها، اپلیکیشن های پرداخت، کتابخانه های پرداخت و بانکی، رمزسازها و...) گردیده و مشتاق به رفع نیازمندی سازمان ها و کسب و کارهای بزرگ و کوچک می باشد.🙂🙏
      DexGuard-iXGuard Catalogue.pdf
    • توسط keynet
      سلام علیکم
      سوالی داشتم ممنون میشم پاسخ بدید
      فرضا اپلیکیشنی داریم که بوسیله Ajax با سرور تبادل اطلاعات می کنه
      چطوری میشه لینک سرور رو پیدا کرد با توجه به اینکه تمام لینک ها در اپلیکیشن کدگذازی شده اند و همچنین برای ارتباط از SSL استفاده شده.
      تشکر
    • توسط meysam1677
      سلام دوستان
      کسی در مبحث امنیت اپلیکیشن و امنیت کیف پول مجازی درون برنامه، کار کرده که بتونه بنده رو در این زمینه یاری برسونه و راهنمایی کنه که باید در چه زمینه ها و منابعی جست و جو کنم
       
    • توسط conall
      سلام 
      من میخوام یه نرم افزار بنویسم که با سرور کار میکنه و ی سری داده توی دیتابیسی که روی سرورمه ذخیره و بازیابی میکنه برای این کار یه سری فایل php میخوام به عنوان واسط که همون api های من میشن
      حالا سوال اینجاس که ایجاد و کار کردن با این api  ها امن هست؟ 
      و چطور میتونم امنیتشو برقرار کنم 
      چون الان مثلا یه api برای افزودن پست داشته باشیم نرم افزار یه جیسون ارسال میکنه به سرور با اطلاعات مورد نیاز اون api حالا یه نفر که مشکل داره میتونه با sniff کردن اطلاعات ارسالی به اون api دسترسی پیدا کنه و یه پست به نام شخص دیگه ای ایجاد کنه ! 
      چطور این مشکل رو حل کنم ؟
      توی نرم افزار هایی مثل دیوار میخواستم چک کنم چون اونا از ssl استفاده میکردن نتونستم به جیسونی که میفرستم دسترسی پیدا کنم که ببینم چی کار کردن
    • توسط MaHdI-09
      سلام.میخواستم بدونم چجوری باید اطلاعات رو بصورت امن انتقال داد.مثلا همین تلگرام پیام ها رو چجوری منتقل میکنه که هک نمیشن یا خیلی سخت هک میشه.

      آیا روش اونا اختصاصی برای خودشون هستش یا یک روش فراگیر هستش.

      باتشکر
  • فایل

×
×
  • اضافه کردن...