PDA

View Full Version : رمز نگاری فایل تصاویر برای استفاده در برنامه اندرویدی



mamalikhanjan
جمعه 05 دی 1399, 13:52 عصر
سلام دوستان
من تعدادی تصویر داررم که برام مهمه کسی نتواند آنها را از برنامه ام کپی کند
قصد دارم آن ها را رمزنگاری کنم و در برنامه قرار دهم و فقط در لحظه ی نمایش رمزگشایی شود
من زیاد به الگوریتم های رمز نگاری وارد نیستم
برای رمز گشایی قطعه کد زیر را پیدا کردم
ولی نمیدانم با چه ابزاری و تنظیم چه پارامترهایی تصویر را رمزنگاری کنم و در برنامه قرار دهم تا با این کد رمزگشایی شود

public Bitmap decrypt(String path, String password) throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException {
FileInputStream fis = new FileInputStream(path);
byte[] key = (AppConstants.salt + password).getBytes("UTF-8");
MessageDigest sha = MessageDigest.getInstance("SHA-1");
key = sha.digest(key);
key = Arrays.copyOf(key, 16);
SecretKeySpec sks = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, sks);
CipherInputStream cis = new CipherInputStream(fis, cipher);

Bitmap bitmap = BitmapFactory.decodeStream(cis);
cis.close();

return bitmap;
}

پیشنهاد هر ابزار آنلاین یا تحت ویندوز که بتونه کارم را راه بندازه کمک بزرگیه
ممنونم

mamalikhanjan
شنبه 06 دی 1399, 14:49 عصر
سلام دوستان
من تعدادی تصویر داررم که برام مهمه کسی نتواند آنها را از برنامه ام کپی کند
قصد دارم آن ها را رمزنگاری کنم و در برنامه قرار دهم و فقط در لحظه ی نمایش رمزگشایی شود
من زیاد به الگوریتم های رمز نگاری وارد نیستم
برای رمز گشایی قطعه کد زیر را پیدا کردم
ولی نمیدانم با چه ابزاری و تنظیم چه پارامترهایی تصویر را رمزنگاری کنم و در برنامه قرار دهم تا با این کد رمزگشایی شود

public Bitmap decrypt(String path, String password) throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException {
FileInputStream fis = new FileInputStream(path);
byte[] key = (AppConstants.salt + password).getBytes("UTF-8");
MessageDigest sha = MessageDigest.getInstance("SHA-1");
key = sha.digest(key);
key = Arrays.copyOf(key, 16);
SecretKeySpec sks = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, sks);
CipherInputStream cis = new CipherInputStream(fis, cipher);

Bitmap bitmap = BitmapFactory.decodeStream(cis);
cis.close();

return bitmap;
}

پیشنهاد هر ابزار آنلاین یا تحت ویندوز که بتونه کارم را راه بندازه کمک بزرگیه
ممنونم
لطفا کمک کنید