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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (https://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

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

[صورة مرفقة: Pic1.png][صورة مرفقة: Pic2.png]

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


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);
       }
   }
}

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

[صورة مرفقة: 2023.png]
انت ذكرت انك لاتريد هذه الطريقةSmile
على كل حال انا حبيت اعطي فكرة  ولك الخيار.

[صورة مرفقة: this.png]