Как конвертировать java-код в C#
public static final String AES_TRANSFORMATION = "AES/ECB/PKCS5Padding"; public static final String AES_ALGORITHM = "AES"; public static final int ENC_BITS = 256; public static final String CHARACTER_ENCODING = "UTF-8"; private static Cipher ENCRYPT_CIPHER; private static Cipher DECRYPT_CIPHER; private static KeyGenerator KEYGEN; static{ try{ ENCRYPT_CIPHER = Cipher.getInstance(AES_TRANSFORMATION); DECRYPT_CIPHER = Cipher.getInstance(AES_TRANSFORMATION); KEYGEN = KeyGenerator.getInstance(AES_ALGORITHM); KEYGEN.init(ENC_BITS); }catch(NoSuchAlgorithmException | NoSuchPaddingException e) { e.printStackTrace(); } } private static String generateSecureKey() throws Exception{ SecretKey secretKey = KEYGEN.generateKey(); return encodeBase64String(secretKey.getEncoded()); }
Что я уже пробовал:
у меня есть другой выход при переходе на c#
дополнение из комментария ниже-Nelek
я попытался генрировать ключ
public byte[] GenerateKey() { using (var aes = CreateAes256Algorithm()) { aes.GenerateKey(); return aes.Key; } } private RijndaelManaged CreateAes256Algorithm() { return new RijndaelManaged { KeySize = 256, BlockSize = 128, Mode = CipherMode.ECB, Padding = PaddingMode.PKCS7 }; }
Suvendu Shekhar Giri
Где код C#, который вы пробовали?
Какие результаты вы получаете?
Каковы ожидаемые результаты?
Каковы входные данные?
Anil Sharma1983
я попытался генрировать ключ
public byte[] GenerateKey()
{
использование (var aes = CreateAes256Algorithm())
{
АЭС.GenerateKey();
вернуться АЭС.Ключ;
}
}
частный RijndaelManaged CreateAes256Algorithm()
{
return new RijndaelManaged { KeySize = 256, BlockSize = 128, Mode = CipherMode.ЕЦБ, обивка = PaddingMode.Pkcs7 в };
}