چطور باید json را encrypt و decrypt کنم؟
من میخوام داده های بین برنامه ام رو با سرور انکریپت کنم از این روش که در این لینک اموزش داده شده ولی من دقیقا نمی دونم کجا باید در فایل php , یا java از این نوع استفاده کنم دوستان اگه مثالی برام هم بیارن می تونم خودم پیگیر باشم
ولی لینک بالا فقط در مورد استرینگ است در صورتی که ارسال داده های من از طریق json داده ارسال و دریافت می کنم
فکر کنم باید کل جیسون رو بصورت یک string دربیاری و encrypt کنیش سمت سرور. چیزی شبیه:
$str = json_encode($yourJsonArray);
$mcrypt = new MCrypt();
$encrypted = $mcrypt->encrypt($str);
echo $encrypted; // or make an json array and then echo this
با هر روشی میتونی این String رو بفرستی برای گوشی، چه بصورت تست معمولی و یا بصورت جیسون جداگانه.
سمت گوشی هم تکست رو که گرفتی، decrypte کن و ازش ی jsonObject یا jsonArray بساز (بسته به چیزی که هست)
JsonObject jsonObject = new JsonObject (decrypted); // or JsonArray | just don't forgot it must be decrypted! check it on logcat
PHP اش رو نمیدونم ، یعنی بلد نیستم !
اما سمت جاوا باید کلاسش رو توی پروژه داشت باشی
کلاس MCrypt.java رو اینجا گذاشته
بقیه موارد هم مشخصه ، شما قبل از اینکه مقداری رو سمت سرور ارسال کنی باید اون رو Encrypt کنی و هر مقداری که از سمت سرور دریافت میکنه قبل از استفاده باید Decrypt بشه
نمونه های Encrypt و Decrypt کردن رو هم در زیر قرار داده
MCrypt mcrypt = new MCrypt(); /* Encrypt */ String encrypted = MCrypt.bytesToHex( mcrypt.encrypt("Text to Encrypt") ); /* Decrypt */ String decrypted = new String( mcrypt.decrypt( encrypted ) );
مننونم از دوستان با راهنمایی ها تونستم رفع کنم مشکلم رو و حال ارسال داده های سرور و کلاینت م به صورت انکدشده هستند
سوال: چطور می تونم ادرس سایتم نیز اسنیف نشه و اگه اسکن کنند برنامه ام رو نتوانند بفهمنند با چه سایتی داده ارسال می کنم
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .