منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
عندي هذا النص
كود :
run2|size10|True|123|Serial-dc832171-3f00-42f4-9194-3115fea6c22d
وابحث عن دالة تستطيع تشفر هذا النص واظهاره بشكل مختصر وأنيق  على ان لا تتجاوز نتيجة التشفير 14 خانة وكذلك تستطيع فك التشفير لنفس النص مثل
مثل
كود :
B12N3HJ53W
أو
كود :
3f-04-2f-43

طبعا يوجد دوال كثيرة موجودة على النت لكن نتيجة التشفير تكون طويلة جداً وهذا لا اريده مثل
كود :
ABJOwFHpQ90wUrtwkVVYsb4RsMaxCAY+L36EdwU2FPg=ABJOwFHpQ90wUrtwkVVYsb4RsMaxCAY+L36EdwU2FPg=


ارغب بحفظ بعض المعلومات المهمة داخل بملف JSON  ولا اريد من المستخدم العادي معرفة محتواها
فهل يوجد دوال تقوم بهذا العمل؟
مارايك بفكرة تموضع الحروف اي انها بنفس عدد الحروف لكن يتم تغييرها وفق معادلة ثابتة يعني نفس الزر يعيدها كما كانت



المعادلة ثابتة لكن ترتيب المصفوفة هو اللذي يتم تغييره
شكرا لك اخي سعود وجدت هذه الداله واعجبتني نتائجها
Encrypt
كود :
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace encrypt_decrypt_string
{
   class Program
   {
       static string Encrypt()
       {
           try
           {
               string textToEncrypt = "WaterWorld";
               string ToReturn = "";
               string publickey = "12345678";
               string secretkey = "87654321";
               byte[] secretkeyByte = { };
               secretkeyByte = System.Text.Encoding.UTF8.GetBytes(secretkey);
               byte[] publickeybyte = { };
               publickeybyte = System.Text.Encoding.UTF8.GetBytes(publickey);
               MemoryStream ms = null;
               CryptoStream cs = null;
               byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt);
               using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
               {
                   ms = new MemoryStream();
                   cs = new CryptoStream(ms, des.CreateEncryptor(publickeybyte, secretkeyByte), CryptoStreamMode.Write);
                   cs.Write(inputbyteArray, 0, inputbyteArray.Length);
                   cs.FlushFinalBlock();
                   ToReturn = Convert.ToBase64String(ms.ToArray());
               }
               return ToReturn;
           }
           catch (Exception ex)
           {
               throw new Exception(ex.Message, ex.InnerException);
           }
       }
       static void Main(string[] args)
       {
           string encrypted = Encrypt();
           Console.WriteLine(encrypted);
       }
   }
}
Decrypt
كود :
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace encrypt_decrypt_string
{
   class Program
   {
       static string Decrypt()
       {
           try
           {
               string textToDecrypt = "6+PXxVWlBqcUnIdqsMyUHA==";
               string ToReturn = "";
               string publickey = "12345678";
               string secretkey = "87654321";
               byte[] privatekeyByte = { };
               privatekeyByte = System.Text.Encoding.UTF8.GetBytes(secretkey);
               byte[] publickeybyte = { };
               publickeybyte = System.Text.Encoding.UTF8.GetBytes(publickey);
               MemoryStream ms = null;
               CryptoStream cs = null;
               byte[] inputbyteArray = new byte[textToDecrypt.Replace(" ", "+").Length];
               inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+"));
               using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
               {
                   ms = new MemoryStream();
                   cs = new CryptoStream(ms, des.CreateDecryptor(publickeybyte, privatekeyByte), CryptoStreamMode.Write);
                   cs.Write(inputbyteArray, 0, inputbyteArray.Length);
                   cs.FlushFinalBlock();
                   Encoding encoding = Encoding.UTF8;
                   ToReturn = encoding.GetString(ms.ToArray());
               }
               return ToReturn;
           }
           catch (Exception ae)
           {
               throw new Exception(ae.Message, ae.InnerException);
           }
       }
       static void Main(string[] args)
       {
           string decrypted = Decrypt();
           Console.WriteLine(decrypted);
       }
   }
}
(22-06-22, 03:22 AM)silverlord كتب : [ -> ]شكرا لك اخي سعود وجدت هذه الداله واعجبتني نتائجها
Encrypt
كود :
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace encrypt_decrypt_string
{
   class Program
   {
       static string Encrypt()
       {
           try
           {
               string textToEncrypt = "WaterWorld";
               string ToReturn = "";
               string publickey = "12345678";
               string secretkey = "87654321";
               byte[] secretkeyByte = { };
               secretkeyByte = System.Text.Encoding.UTF8.GetBytes(secretkey);
               byte[] publickeybyte = { };
               publickeybyte = System.Text.Encoding.UTF8.GetBytes(publickey);
               MemoryStream ms = null;
               CryptoStream cs = null;
               byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt);
               using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
               {
                   ms = new MemoryStream();
                   cs = new CryptoStream(ms, des.CreateEncryptor(publickeybyte, secretkeyByte), CryptoStreamMode.Write);
                   cs.Write(inputbyteArray, 0, inputbyteArray.Length);
                   cs.FlushFinalBlock();
                   ToReturn = Convert.ToBase64String(ms.ToArray());
               }
               return ToReturn;
           }
           catch (Exception ex)
           {
               throw new Exception(ex.Message, ex.InnerException);
           }
       }
       static void Main(string[] args)
       {
           string encrypted = Encrypt();
           Console.WriteLine(encrypted);
       }
   }
}
Decrypt
كود :
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace encrypt_decrypt_string
{
   class Program
   {
       static string Decrypt()
       {
           try
           {
               string textToDecrypt = "6+PXxVWlBqcUnIdqsMyUHA==";
               string ToReturn = "";
               string publickey = "12345678";
               string secretkey = "87654321";
               byte[] privatekeyByte = { };
               privatekeyByte = System.Text.Encoding.UTF8.GetBytes(secretkey);
               byte[] publickeybyte = { };
               publickeybyte = System.Text.Encoding.UTF8.GetBytes(publickey);
               MemoryStream ms = null;
               CryptoStream cs = null;
               byte[] inputbyteArray = new byte[textToDecrypt.Replace(" ", "+").Length];
               inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+"));
               using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
               {
                   ms = new MemoryStream();
                   cs = new CryptoStream(ms, des.CreateDecryptor(publickeybyte, privatekeyByte), CryptoStreamMode.Write);
                   cs.Write(inputbyteArray, 0, inputbyteArray.Length);
                   cs.FlushFinalBlock();
                   Encoding encoding = Encoding.UTF8;
                   ToReturn = encoding.GetString(ms.ToArray());
               }
               return ToReturn;
           }
           catch (Exception ae)
           {
               throw new Exception(ae.Message, ae.InnerException);
           }
       }
       static void Main(string[] args)
       {
           string decrypted = Decrypt();
           Console.WriteLine(decrypted);
       }
   }
}

جربت التشفير حسب الكود المكتوب بمشاركتك ونتيجة التشفير كما يتبين بالصورة للنص الموجود باول مشاركتك :


انت ذكرت انك لاتريد هذه الطريقةSmile
على كل حال انا حبيت اعطي فكرة  ولك الخيار.