PDA

View Full Version : encryption و Decrypt کردن متن برای ارسال به php



amirhossein.h
دوشنبه 08 اردیبهشت 1393, 15:55 عصر
با سلام خدمت دوستان و اساتید عزیز

بنده در پروژه خودم باید اطلاعات رو به یک صفحه php ارسال و دریافت کنم و میخوام این ارسال و دریافت برای افراد دیگر خوانا نباشه

توی اینترنت گشتم ویه چیزایی پیدا کردم که لینکشو میزارم ولی نتونستم ازش جواب بگیرم (http://www.codingvision.net/security/c-php-compatible-encryption-aes256)
منتظر پاسخ هاتون میمونم
با تشکر

Mr.orange
دوشنبه 08 اردیبهشت 1393, 16:19 عصر
چرا از ssl استفاده نمیکنید؟!

روی وب سرور ssl راه بندازید و با https اقدام به ارسال و دریافت کنید!

اینطوری درگیر مباحث برنامه‌بنویسی رمز نگاری هم نمیشید!
چون اگه بخوایین پیاده سازیش کنید هم باید توی C#‎ و هم توی php پیاده سازیش کنید

amirhossein.h
دوشنبه 08 اردیبهشت 1393, 16:47 عصر
دوست عزیز مرسی از پاسختون ولی استفاده از ssl به درد پروژه من نمیخوره و من روی رمز گذاری رشته ها میخوام کار کنم

در هر صورت ممنون

Mousavmousab
دوشنبه 08 اردیبهشت 1393, 17:46 عصر
سلام

خودت توی سی شارپ یک Class بنویس که رشته ها را Encode کنی. بعد توی PHP هم یک Class بنویس که پارامتر اومده را Decode کنی.

داده را به صورت پرامتری به URL سایتت بفرست و توی PHP کنترل کن اگر فلان پارامتر با فلان مقدار ( مقدار که کد شده و شما می دونی چیه؟) را دریفات کن بعد با تابعی که توی PHP نوشتی رشته را Decode کن.
این طوری همه چیز دست خودته و نیاز به چیزی نداری

مشکل کجاست؟

فعلاٌ با یک Encode/Decode ساده کارتو راه بنداز. به امید خدا که تموم شد بشین این 2 تا تابع را قشنگ Complex کن کسی نتونه سر در بیاره
موفق باشی

amirhossein.h
سه شنبه 09 اردیبهشت 1393, 08:42 صبح
من کد ها رو از لینک(http://www.codingvision.net/security/c-php-compatible-encryption-aes256) کپی کردم ولی یه قسمت کار مشکل وجود داره
مشکل اینه که شما مثلا کلمه "test" رو که encrypt میکنید و وقتی میخواید اونو decrypt کنید فقط حرف اول رو برمیگردونه یعنی فقط حرف "t" برگردوننده میشه
مشکل کجاست
فایل رو هم پیوست کردم تا بهش یه نگاه بندازید
باتشکر

amirhossein.h
شنبه 17 خرداد 1393, 12:33 عصر
دوستان کسی نتونست بگه مشکل کجاست؟؟
من توی php رو امتحان کردم، درست کار کرد و فقط توی #c مونده
باتشکر

CsharpNevisi
شنبه 17 خرداد 1393, 13:43 عصر
چرا از روش کد گذاری MD5 استفاده نمیکنی ؟

amirhossein.h
شنبه 17 خرداد 1393, 13:54 عصر
چرا از روش کد گذاری MD5 استفاده نمیکنی ؟

میشه یکم درباره MD5 بیشتر توضیح بدید؟
اینم بگم که از سمت php هم امکان داره برای برنامه پیغام فرستاده بشه

CsharpNevisi
شنبه 17 خرداد 1393, 14:05 عصر
یه سایتی هست که میتونه یه سری از عبارت های مشخصو رمز گشایی کنه .. !!!
اونم یه بانک اطلاعاتی داره که مثلا عبارت رمز شده x5bddf45d4f4dfd45f4x میشه 123 ... یعنی اگه عبارتت معنی دار نباشه تو بانک اونم پیدا نمیشه و رمزگشایی نمیشه !!!!
این استراتژی رمزنگاری توسط ماکروسافت ارائه شده ... البته خود ماکروسافت گفته که دیگه از این روش استفاده نکنید ... ولی هنوزم استفاده میشه .. !!!
من ازش استفاده میکنم و تا حالا به مشکل نخوردم ... !!!
برای رومزنگاری توسط C# از این روال استفاده کن .. !!!
اتفاقا وب سرویسمم PHP بود ... !!!

//using System.Security.Cryptography; فضایی که باید استفاده بشه
static string getMd5Hash(string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();


// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(in put));


// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();


// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}


// Return the hexadecimal string.
return sBuilder.ToString();
}