170 похожих чатов

Ребят, у меня тут возникла некая проблема. Я пишу клиент на

шарпе, аналогичный жаба клиенту по функционалу. Но вот в чём проблема: у эллиптических кривых в жабе и шарпе совершенно разные ключи генерируются, хотя код правильный

Java:
public key: 91 bytes

C#:
Public key: 65 bytes

В чём может быть проблема? ECDSA, secp256r1. Использую BouncyCastle

7 ответов

10 просмотров
Пользователь-61457 Автор вопроса

var curve = ECNamedCurveTable.GetByName("secp256r1"); var domainParams = new ECDomainParameters(curve.Curve, curve.G, curve.N, curve.H, curve.GetSeed()); var secureRandom = new SecureRandom(); var keyParams = new ECKeyGenerationParameters(domainParams, secureRandom); var generator = new ECKeyPairGenerator("ECDSA"); generator.Init(keyParams); var keyPair = generator.GenerateKeyPair(); return keyPair;

Пользователь-61457 Автор вопроса

В каких?

Пользователь-61457 Автор вопроса

Смысл не в разных ключах, а в разных количествах байтов в этих ключах

Пользователь-61457 Автор вопроса

я оттуда код и брал)

Пользователь-61457 Автор вопроса

KeyPairGenerator generator = KeyPairGenerator.getInstance(EC_ALGO); generator.initialize(new ECGenParameterSpec(EC_CURVE), random); return generator.genKeyPair(); Как это написать на шарпе? Чтобы ключи совпадали по кол-ву символов

Пользователь-61457 Автор вопроса
Mr. N
Может хеш не тот?

там кол-во байтов отличается

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А чем вам питонисты не угодили?😂
.
79
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Есть предложения, как подобное можно упростить?
Hemul GM
12
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
Карта сайта