Я использую SHA1 в библиотеке, написанной в C# net6.0, чтобы обнаружить изменения и сравнить тексты и другие типы объектов, аналогично использованию SHA1 в GIT. Это требование (например, в GIT), мы можем проверить изменения и сравнить различные объекты через долгое время (возможно,). Следовательно, мы должны быть в состоянии поверить, что расчеты SHA1 являются стабильными, даже если были созданы новые версии нашего приложения, вероятно, с более новыми версиями .net. < /P>
Вот моя проблема: Я ожидал, так как SHA1 существует некоторое время, что вычисленные значения хеш будут такими же, как сейчас, когда я обновил нашу библиотеку до Net8. Но удивительно, но они дают разные значения для одного и того же ввода в Net8 по сравнению с Net6, и даже другие значения в Net9! при обновлении других частей приложения до новых сетевых версий. Но это не работает: если я использую библиотечную сборку на Net6 с помощью, например, консольного приложения на Net8, значения хэша SHA1 рассчитываются с помощью Net8-версии SHA1. Очевидно, невозможно обновить приложение на более новые версии .net, не нарушая требования относительно стабильности в расчетах SHA1. < /P>
Мой вопрос: есть ли решение этой проблемы, предпочтительно способ Чтобы заставить SHA1-Calculations, доставленные библиотекой для использования версии библиотеки .NET, а не версии клиентов .NET ?NET? >
using System.Security.Cryptography;
public static class Library {
private static SHA1 sha1;
public static byte[] GetSha1(byte[] data) {
return sha1.ComputeHash(data);
}
static Library() {
sha1 = SHA1.Create();
}
// More code ...
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ons-of-net
SHA1 дает разные результаты в разных версиях .net ⇐ C#
Место общения программистов C#
-
Anonymous
1739351363
Anonymous
Я использую SHA1 в библиотеке, написанной в C# net6.0, чтобы обнаружить изменения и сравнить тексты и другие типы объектов, аналогично использованию SHA1 в GIT. Это требование (например, в GIT), мы можем проверить изменения и сравнить различные объекты через долгое время (возможно,). Следовательно, мы должны быть в состоянии поверить, что расчеты SHA1 являются стабильными, даже если были созданы новые версии нашего приложения, вероятно, с более новыми версиями .net. < /P>
Вот моя проблема: Я ожидал, так как SHA1 существует некоторое время, что вычисленные значения хеш будут такими же, как сейчас, когда я обновил нашу библиотеку до Net8. Но удивительно, но они дают разные значения для одного и того же ввода в Net8 по сравнению с Net6, и даже другие значения в Net9! при обновлении других частей приложения до новых сетевых версий. Но это не работает: если я использую библиотечную сборку на Net6 с помощью, например, консольного приложения на Net8, значения хэша SHA1 рассчитываются с помощью Net8-версии SHA1. Очевидно, невозможно обновить приложение на более новые версии .net, не нарушая требования относительно стабильности в расчетах SHA1. < /P>
Мой вопрос: есть ли решение этой проблемы, предпочтительно способ Чтобы заставить SHA1-Calculations, доставленные библиотекой для использования версии библиотеки .NET, а не версии клиентов .NET ?NET? >
using System.Security.Cryptography;
public static class Library {
private static SHA1 sha1;
public static byte[] GetSha1(byte[] data) {
return sha1.ComputeHash(data);
}
static Library() {
sha1 = SHA1.Create();
}
// More code ...
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79432472/sha1-gives-different-results-in-different-versions-of-net[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия