MaHdI-09

رمزگذاری اطلاعات

2 ارسال در این موضوع قرار دارد

سلام.میخواستم بدونم چجوری باید اطلاعات رو بصورت امن انتقال داد.مثلا همین تلگرام پیام ها رو چجوری منتقل میکنه که هک نمیشن یا خیلی سخت هک میشه.

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

باتشکر

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


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

سلام تا اونجایی که میدونم تلگرام از یه رمزگذاری شبیه ssl استفاده میکنه 2048 بیتی هست ولی در عین حال فقط خود تلگرام به صورت اختصاصی از این نوع استفاده کرده و نوع رمزگذاریش اختصاصیه

 

میتونین در مورد رمز گذاری RSA128 و RSA256 تحقیق کنید که میشه گفت از امن ترین هاش هستن!

 

نمونه یک رمزگذاری رو در ادرس پایین میتونید ببینید:

https://stackoverflow.com/questions/12471999/rsa-encryption-decryption-in-android

1 کاربر پسند دیده است

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط conall
      سلام 
      من میخوام یه نرم افزار بنویسم که با سرور کار میکنه و ی سری داده توی دیتابیسی که روی سرورمه ذخیره و بازیابی میکنه برای این کار یه سری فایل php میخوام به عنوان واسط که همون api های من میشن
      حالا سوال اینجاس که ایجاد و کار کردن با این api  ها امن هست؟ 
      و چطور میتونم امنیتشو برقرار کنم 
      چون الان مثلا یه api برای افزودن پست داشته باشیم نرم افزار یه جیسون ارسال میکنه به سرور با اطلاعات مورد نیاز اون api حالا یه نفر که مشکل داره میتونه با sniff کردن اطلاعات ارسالی به اون api دسترسی پیدا کنه و یه پست به نام شخص دیگه ای ایجاد کنه ! 
      چطور این مشکل رو حل کنم ؟
      توی نرم افزار هایی مثل دیوار میخواستم چک کنم چون اونا از ssl استفاده میکردن نتونستم به جیسونی که میفرستم دسترسی پیدا کنم که ببینم چی کار کردن
    • توسط 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))  
       
       

  • دوره آموزشی اندروید آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش
    آموزش برنامه نویسی اندروید
  • فایل