Mình decode bằng js với file html nầy thì khá ổn Code: <html > <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script> </head> <body> <script> var o = CryptoJS.AES.decrypt("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", "2a03f1c954abfd1e06acc4b97b19dbba").toString(CryptoJS.enc.Utf8); alert(o); </script> </body> </html> Nhưng mà muốn decode với php hoặc C# thì mình vẫn chưa tìm được lib nào chạy ra dc kết quả, nó chỉ ra 1 đoạn mã vô nghĩa như hình Có pác nào đã làm phần nầy rồi, chỉ giáo mình 1 với
Mất công quá thì setup nodejs để chạy mỗi function này thôi. Ui.... vọc mấy năm trước - php nè: https://github.com/ivantcholakov/gibberish-aes-php
của bác đây: https://dotnetfiddle.net/xjIdxF PHP: using System;using System.Collections.Generic;using System.IO;using System.Security.Cryptography;using System.Text;namespace TestEas{ class Program { static void Main(string[] args) { var encryptedText = "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"; var passphrase = "2a03f1c954abfd1e06acc4b97b19dbba"; var protection = new Protection(); var decrypted = protection.OpenSslDecrypt(encryptedText, passphrase); Console.WriteLine(decrypted); } } public class Protection { public string OpenSslDecrypt(string encrypted, string passphrase) { var encryptedBytesWithSalt = Convert.FromBase64String(encrypted); var salt = new byte[8]; var encryptedBytes = new byte[encryptedBytesWithSalt.Length - salt.Length - 8]; Buffer.BlockCopy(encryptedBytesWithSalt, 8, salt, 0, salt.Length); Buffer.BlockCopy(encryptedBytesWithSalt, salt.Length + 8, encryptedBytes, 0, encryptedBytes.Length); DeriveKeyAndIv(passphrase, salt, out var key, out var iv); return DecryptStringFromBytesAes(encryptedBytes, key, iv); } private void DeriveKeyAndIv(string passphrase, byte[] salt, out byte[] key, out byte[] iv) { var concatenatedHashes = new List<byte>(48); var password = Encoding.UTF8.GetBytes(passphrase); var currentHash = new byte[0]; var md5 = MD5.Create(); var enoughBytesForKey = false; while (!enoughBytesForKey) { var preHashLength = currentHash.Length + password.Length + salt.Length; var preHash = new byte[preHashLength]; Buffer.BlockCopy(currentHash, 0, preHash, 0, currentHash.Length); Buffer.BlockCopy(password, 0, preHash, currentHash.Length, password.Length); Buffer.BlockCopy(salt, 0, preHash, currentHash.Length + password.Length, salt.Length); currentHash = md5.ComputeHash(preHash); concatenatedHashes.AddRange(currentHash); if (concatenatedHashes.Count >= 48) enoughBytesForKey = true; } key = new byte[32]; iv = new byte[16]; concatenatedHashes.CopyTo(0, key, 0, 32); concatenatedHashes.CopyTo(32, iv, 0, 16); } string DecryptStringFromBytesAes(byte[] cipherText, byte[] key, byte[] iv) { var aesAlg = new RijndaelManaged { Mode = CipherMode.CBC, KeySize = 256, BlockSize = 128, Key = key, IV = iv }; var decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV); using var msDecrypt = new MemoryStream(cipherText); using var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read); using var srDecrypt = new StreamReader(csDecrypt); var plaintext = srDecrypt.ReadToEnd(); return plaintext; } }} Không dùng thêm lib, code lấy trên mạng em về chế cháo lại thêm để cho gọn nhẹ xử lý đúng case đè bài cho
Ôi vờ lờ, e mò cả 2 ngày ko ra, pác code cái ra luôn. How to dc pro như pác đây ạ. Hizhiz --- Double Post Merged, Jun 27, 2021, Original Post Date: Jun 27, 2021 --- Thanks a nhiều, để e thử. @Newbie88 bữa pác hỏi nè.