Click here to Skip to main content
15,900,724 members
Home / Discussions / C#
   

C#

 
AnswerRe: MessageBox Appearing Behind Window Pin
OriginalGriff17-Mar-24 4:33
mveOriginalGriff17-Mar-24 4:33 
AnswerRe: MessageBox Appearing Behind Window Pin
Gerry Schmitz17-Mar-24 6:37
mveGerry Schmitz17-Mar-24 6:37 
GeneralRe: MessageBox Appearing Behind Window Pin
Richard Andrew x6417-Mar-24 8:04
professionalRichard Andrew x6417-Mar-24 8:04 
GeneralRe: MessageBox Appearing Behind Window Pin
Gerry Schmitz17-Mar-24 10:09
mveGerry Schmitz17-Mar-24 10:09 
AnswerRe: MessageBox Appearing Behind Window Pin
#realJSOP19-Mar-24 2:12
professional#realJSOP19-Mar-24 2:12 
AnswerRe: MessageBox Appearing Behind Window Pin
M Imran Ansari6-Apr-24 10:57
mveM Imran Ansari6-Apr-24 10:57 
GeneralRe: MessageBox Appearing Behind Window Pin
Richard Andrew x647-Apr-24 6:09
professionalRichard Andrew x647-Apr-24 6:09 
QuestionUpdating sql table where textbox = ID Pin
cencom0116-Mar-24 6:51
cencom0116-Mar-24 6:51 
AnswerRe: Updating sql table where textbox = ID Pin
Dave Kreskowiak16-Mar-24 7:05
mveDave Kreskowiak16-Mar-24 7:05 
AnswerRe: Updating sql table where textbox = ID Pin
Richard Deeming17-Mar-24 23:37
mveRichard Deeming17-Mar-24 23:37 
AnswerRe: Updating sql table where textbox = ID Pin
Wei Xue2-Apr-24 20:58
Wei Xue2-Apr-24 20:58 
QuestionCreating a shortcut (LNK) Pin
Richard Andrew x6416-Mar-24 3:38
professionalRichard Andrew x6416-Mar-24 3:38 
AnswerRe: Creating a shortcut (LNK) Pin
Dave Kreskowiak16-Mar-24 4:50
mveDave Kreskowiak16-Mar-24 4:50 
GeneralRe: Creating a shortcut (LNK) Pin
Richard Andrew x6416-Mar-24 7:23
professionalRichard Andrew x6416-Mar-24 7:23 
GeneralRe: Creating a shortcut (LNK) Pin
Dave Kreskowiak16-Mar-24 11:44
mveDave Kreskowiak16-Mar-24 11:44 
QuestionHow to read and update existing language MST file (1033.mst) which is part of MSI Package using C# application? Pin
krish8812-Mar-24 20:02
krish8812-Mar-24 20:02 
AnswerRe: How to read and update existing language MST file (1033.mst) which is part of MSI Package using C# application? Pin
OriginalGriff12-Mar-24 20:02
mveOriginalGriff12-Mar-24 20:02 
QuestionSystem.Security.Cryptography.Aes Class Pin
Kevin Marois12-Mar-24 13:40
professionalKevin Marois12-Mar-24 13:40 
I am trying to encrypt and decrypt some text using System.Security.Cryptography.Aes.[^].

Here's my Console app:
var password = "thisIsAReallllllllyLongPasswordForTesting";
var passPhrase = "E546C8DF278CD5931069B522E695D4F2";
var initVector = "HR$2pIjHR$2pIj12";
var encrypted = Cryptography.EncryptString(password, passPhrase, initVector);

Console.WriteLine("Encrypted password");
Console.WriteLine(encrypted.ToString());

string decrypted = Cryptography.DecryptString(encrypted, passPhrase, initVector);

Console.WriteLine("decrypted password");
Console.WriteLine(decrypted);

Here's my crypto class:
public static class Cryptography
{
    public static string EncryptString(string plainText, string passPhrase, string initVector)
    {
        string encrypted = "";

        // Create an Aes object with the specified key and IV.
        using (Aes aes = Aes.Create())
        {
            aes.Key = Encoding.ASCII.GetBytes(passPhrase);
            aes.IV = Encoding.ASCII.GetBytes(initVector);

            // Create a new MemoryStream object to contain the encrypted bytes.
            using (var memoryStream = new MemoryStream())
            {
                // Create a CryptoStream object to perform the encryption.
                using (var cryptoStream = new CryptoStream(memoryStream, aes.CreateEncryptor(), CryptoStreamMode.Write))
                {
                    // Encrypt the plaintext.
                    using (var streamWriter = new StreamWriter(cryptoStream))
                    {
                        streamWriter.Write(plainText);
                    }

                    encrypted = Encoding.UTF8.GetString(memoryStream.ToArray());
                }
            }
        }

        return encrypted;
    }

    public static string DecryptString(string encryptedText, string passPhrase, string initVector)
    {
        string decrypted;

        // Convert the input string to bytes
        var inputBytes = Encoding.ASCII.GetBytes(encryptedText);

        //PadToMultipleOf(ref inputBytes, 16);

        // Create an Aes object with the specified key and IV.
        using (Aes aes = Aes.Create())
        {
            aes.Key = Encoding.ASCII.GetBytes(passPhrase);
            aes.IV = Encoding.ASCII.GetBytes(initVector);

            // Create a new MemoryStream object to contain the decrypted bytes.
            using (var memoryStream = new MemoryStream(inputBytes))
            {
                // Create a CryptoStream object to perform the decryption.
                using (var cryptoStream = new CryptoStream(memoryStream, aes.CreateDecryptor(), CryptoStreamMode.Read))
                {
                    // Decrypt the ciphertext.
                    using (var streamReader = new StreamReader(cryptoStream))
                    {
                        decrypted = streamReader.ReadToEnd();
                    }
                }
            }
        }

        return decrypted;
    }

    private static void PadToMultipleOf(ref byte[] src, int pad)
    {
        int len = (src.Length + pad - 1) / pad * pad;
        Array.Resize(ref src, len);
    }
}

I don't get any errors when encrypting, but when I decrypt I get
The input data is not a complete block.'
I thought that maybe I need to pad the input array, but when I uncomment this:
PadToMultipleOf(ref inputBytes, 16);
then I get
Padding is invalid and cannot be removed.'
Anyone know what's wrong, or maybe can point me to a working example?

Thanks
In theory, theory and practice are the same. But in practice, they never are.”
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.

AnswerRe: System.Security.Cryptography.Aes Class Pin
Peter_in_278012-Mar-24 15:50
professionalPeter_in_278012-Mar-24 15:50 
GeneralRe: System.Security.Cryptography.Aes Class Pin
Kevin Marois13-Mar-24 7:44
professionalKevin Marois13-Mar-24 7:44 
AnswerRe: System.Security.Cryptography.Aes Class Pin
JudyL_MD13-Mar-24 2:05
JudyL_MD13-Mar-24 2:05 
GeneralRe: System.Security.Cryptography.Aes Class Pin
Kevin Marois13-Mar-24 7:44
professionalKevin Marois13-Mar-24 7:44 
GeneralRe: System.Security.Cryptography.Aes Class Pin
Kevin Marois13-Mar-24 8:16
professionalKevin Marois13-Mar-24 8:16 
SuggestionRe: System.Security.Cryptography.Aes Class Pin
Richard Deeming17-Mar-24 23:46
mveRichard Deeming17-Mar-24 23:46 
QuestionI want to display both Old and New Values in Form2. Pin
Sonika B S10-Mar-24 4:14
Sonika B S10-Mar-24 4:14 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.