منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق) - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق) (/showthread.php?tid=41770)



لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق) - silverlord - 21-06-22

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

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


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


RE: لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق) - سعود - 21-06-22

مارايك بفكرة تموضع الحروف اي انها بنفس عدد الحروف لكن يتم تغييرها وفق معادلة ثابتة يعني نفس الزر يعيدها كما كانت



المعادلة ثابتة لكن ترتيب المصفوفة هو اللذي يتم تغييره


RE: لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق) - silverlord - 22-06-22

شكرا لك اخي سعود وجدت هذه الداله واعجبتني نتائجها
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);
       }
   }
}



RE: لخبراء التشفير (ابحث عن دالة تشفر نص بشكل مختصر وأنيق) - سعود - 22-06-22

(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
على كل حال انا حبيت اعطي فكرة  ولك الخيار.