Member 13664778 Ответов: 0

Как я могу изменить ЕЦБ на cbc перепробовал много iv и даже RNG HELP нет ссылок на https://msdn.microsoft.com


пожалуйста, помогите мне изменить это на cbc

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Security.Cryptography;
using System.Text;



public class SSTCryptographer
{
    private static string _key;
        
	public SSTCryptographer()
	{ 
	}

    
    public static string Key
    {
        set
        {
            _key = value;
        }
    }

    
    public static string Encrypt(string strToEncrypt)
    {
        try
        {
            return Encrypt(strToEncrypt, _key);
        }
        catch (Exception ex)
        {
            return "Wrong Input. " + ex.Message;
        }
           
    }
    
    public static string Decrypt(string strEncrypted)
    {
        try
        {
            return Decrypt(strEncrypted, _key);
        }
        catch (Exception ex)
        {
            return "Wrong Input. " + ex.Message;
        }
    }

   
    public static string Encrypt(string strToEncrypt, string strKey)
    {
        try
        {
            TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
            MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();

            byte[] byteHash, byteBuff;
            string strTempKey = strKey;

            byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
            objHashMD5 = null;
            objDESCrypto.Key = byteHash;
            objDESCrypto.Mode = CipherMode.EBC; 

            byteBuff = ASCIIEncoding.ASCII.GetBytes(strToEncrypt);
            return Convert.ToBase64String(objDESCrypto.CreateEncryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
        }
        catch (Exception ex)
        {
            return "Wrong Input. " + ex.Message;
        }
    }


    
    public static string Decrypt(string strEncrypted, string strKey)
    {
        try
        {
            TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
            MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();

            byte[] byteHash, byteBuff;
            string strTempKey = strKey;

            byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
            objHashMD5 = null;
            objDESCrypto.Key = byteHash;
            objDESCrypto.Mode = CipherMode.ECB; 

            byteBuff = Convert.FromBase64String(strEncrypted);
            string strDecrypted = ASCIIEncoding.ASCII.GetString(objDESCrypto.CreateDecryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
            objDESCrypto = null;

            return strDecrypted;
        }
        catch (Exception ex)
        {
            return "Wrong Input. " + ex.Message;
        }
    }
}


Что я уже пробовал:

много капельниц и ГСЧ много get байтов я чувствую себя близко мне просто нужно чтобы кто то редактировал код для меня

Graeme_Grant

Fixtheformattingofyourcodeifyouwanthelp. Далее, вы не объясняете, где вы застряли, только вы хотите, чтобы кто-то закончил ваш код для вас. Мы здесь не для того, чтобы исправить ваш код для вас только потому, что вы близки.

Member 13664778

Может быть вам стоит придерживаться ответов на html формы w3school я думаю что это может быть слишком большим для вас приятель и мой код работает отлично я просто хочу изменить его на cbc спасибо ни за что нуб

Graeme_Grant

Нет необходимости в наступательном ответе. Я не нуб, а CP MVP. Если ваш код работает идеально, и вы хотите, чтобы кто-то преобразовал его для вас, то вы просите не в том месте! Пожалуйста, найдите время, чтобы прочитать СР быстрых ответов часто задаваемые вопросы[^]. Вместо этого вам нужно спросить Здесь: Нанимайте фрилансеров и находите внештатные вакансии онлайн - Freelancer[^]

Graeme_Grant

Быстрый поиск в Google находит множество примеров: Пример c# TripleDES CipherMode cbc[^]

0 Ответов