В моем существующем приложении ASP.NET есть функции зашифрованного и дешифрования с использованием TripleDESCRYPTOServiceProvider с ключом, у меня также есть ключ, и я могу напечатать распечатанные и зашифрованные струны, база данных MSSQL обладает хранимыми зашифрованными клавишами, которые являются паролями < /p>
Prerie ReactJs при сохранении базы данных SQL Server. (ASP работает очень плохо)
Backend находится в ExpressJs с API REST < /p>
Я строю функцию входа в систему, которая проверит пароль, теперь как мне написать тот же зашифрованный и расшифрованный механизм ASP.NET в ExpressJs Backend < /p>
Это функция Decrypt от asp.net < /p> < /p>
Это функция Decrypt от asp.net < /p> < /p>
Это расширительная функция Asp.net < /p> < /p>
. public string Decrypt(string cipherString)
{
try
{
cipherString = cipherString.Replace(' ', '+');
byte[] keyArray;
byte[] toEncryptArray = Convert.FromBase64String(cipherString);
var settingsReader = new AppSettingsReader();
var key = (string)settingsReader.GetValue("Sabmar", typeof(String));
{
var hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
var tdes = new TripleDESCryptoServiceProvider
{
Key = keyArray,
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
var cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(
toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Encoding.UTF8.GetString(resultArray);
}
catch (Exception)
{
return "";
}
}
< /code>
Это функция Encrypt от asp.net < /p>
public string Encrypt(string toEncrypt)
{
byte[] keyArray;
byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);
var settingsReader = new AppSettingsReader();
var key = (string)settingsReader.GetValue("Sabmar", typeof(String));
{
var hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
var tdes = new TripleDESCryptoServiceProvider
{
Key = keyArray,
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
var cTransform = tdes.CreateEncryptor();
byte[] resultArray =
cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
< /code>
Это функция шифрования, которую я написал в JavaScript < /p>
function encrypt(plainString, key) {
try {
// Create MD5 hash of the key
const hash = crypto.createHash('md5');
hash.update(key);
const keyArray = hash.digest();
// Create cipher instance
const cipher = crypto.createCipheriv('des-ede3', keyArray, null);
cipher.setAutoPadding(true);
// Encrypt the plain string
const encrypted = Buffer.concat([cipher.update(Buffer.from(plainString, 'utf8')), cipher.final()]);
// Return the encrypted string
return encrypted.toString('base64');
} catch (error) {
console.error(error);
return "";
}
}
< /code>
И я называю функцию таким образом < /p>
const key = 'Sabmar';
const cipherString = 'Welcome';
const decryptedString = decrypt(cipherString, key);
console.log(decryptedString);
< /code>
Теперь JavaScript дает мне ошибку, говоря, что длина ключа недействительна
Я много пробовал, но я не могу реализовать этот код .NET к JavaScript < /p>
Я пытался поговорить с Meta ai, но не достиг никакого заключения
i sovald ware -key, потому что AI говорит, что AI говорит
в тему 3 -й. байты (192 бита). Тем не менее, функция хэш MD5, используемая в коде, генерирует 16-байтовый (128-битный) хэш.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... javascript
Реализация существующих функций ASP.NET Encrypt & Decrypt в JavaScript ⇐ Javascript
Форум по Javascript
1755509581
Anonymous
В моем существующем приложении ASP.NET есть функции зашифрованного и дешифрования с использованием TripleDESCRYPTOServiceProvider с ключом, у меня также есть ключ, и я могу напечатать распечатанные и зашифрованные струны, база данных MSSQL обладает хранимыми зашифрованными клавишами, которые являются паролями < /p>
Prerie ReactJs при сохранении базы данных SQL Server. (ASP работает очень плохо)
Backend находится в ExpressJs с API REST < /p>
Я строю функцию входа в систему, которая проверит пароль, теперь как мне написать тот же зашифрованный и расшифрованный механизм ASP.NET в ExpressJs Backend < /p>
Это функция Decrypt от asp.net < /p> < /p>
Это функция Decrypt от asp.net < /p> < /p>
Это расширительная функция Asp.net < /p> < /p>
. public string Decrypt(string cipherString)
{
try
{
cipherString = cipherString.Replace(' ', '+');
byte[] keyArray;
byte[] toEncryptArray = Convert.FromBase64String(cipherString);
var settingsReader = new AppSettingsReader();
var key = (string)settingsReader.GetValue("Sabmar", typeof(String));
{
var hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
var tdes = new TripleDESCryptoServiceProvider
{
Key = keyArray,
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
var cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(
toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Encoding.UTF8.GetString(resultArray);
}
catch (Exception)
{
return "";
}
}
< /code>
Это функция Encrypt от asp.net < /p>
public string Encrypt(string toEncrypt)
{
byte[] keyArray;
byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);
var settingsReader = new AppSettingsReader();
var key = (string)settingsReader.GetValue("Sabmar", typeof(String));
{
var hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
var tdes = new TripleDESCryptoServiceProvider
{
Key = keyArray,
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
var cTransform = tdes.CreateEncryptor();
byte[] resultArray =
cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
< /code>
Это функция шифрования, которую я написал в JavaScript < /p>
function encrypt(plainString, key) {
try {
// Create MD5 hash of the key
const hash = crypto.createHash('md5');
hash.update(key);
const keyArray = hash.digest();
// Create cipher instance
const cipher = crypto.createCipheriv('des-ede3', keyArray, null);
cipher.setAutoPadding(true);
// Encrypt the plain string
const encrypted = Buffer.concat([cipher.update(Buffer.from(plainString, 'utf8')), cipher.final()]);
// Return the encrypted string
return encrypted.toString('base64');
} catch (error) {
console.error(error);
return "";
}
}
< /code>
И я называю функцию таким образом < /p>
const key = 'Sabmar';
const cipherString = 'Welcome';
const decryptedString = decrypt(cipherString, key);
console.log(decryptedString);
< /code>
Теперь JavaScript дает мне ошибку, говоря, что длина ключа недействительна
Я много пробовал, но я не могу реализовать этот код .NET к JavaScript < /p>
Я пытался поговорить с Meta ai, но не достиг никакого заключения
i sovald ware -key, потому что AI говорит, что AI говорит
в тему 3 -й. байты (192 бита). Тем не менее, функция хэш MD5, используемая в коде, генерирует 16-байтовый (128-битный) хэш.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79738520/implementing-existing-asp-net-encrypt-decrypt-functions-in-javascript[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия