2016-08-08 4 views

ответ

2

«Цифровая подпись» - это широкий термин, поскольку сами подписи создаются с использованием разных криптографических алгоритмов, а затем завернуты в разные структуры.

Подпись (как продукт криптографической операции) всегда двоичная. Большинство форматов упаковки также являются бинарными. В некоторых редких случаях (например, в OpenPGP) формат предлагает некоторую необязательную кодировку бинарной подписи на основе текста (BASE16 или BASE64).

Итак, вопрос о «точке» не имеет большого смысла. Конечно, байт со значением 0x2E (46 dec) возможен в сигнатуре, так как подпись может содержать любое значение байта. Байт со значением 0x2E будет интерпретироваться как точка, когда подпись рассматривается как ASCII-совместимый текст.

Является ли точка возможной в конкретной кодировке для текста подписи, зависит от схемы кодирования. Обычное кодирование базы 64 не содержит точек, только буквенно-цифровых символов и символов +, \ или =.

+0

Спасибо @Eugene Mayevski 'EldoS за ваш ответ. Я просто использую RSAwithSHA1 для создания подписи в java-программе и получаю строковый результат. Поэтому я хочу знать, если '.' символ может быть включен в этот результат строки (потому что я использую «.» для разделения подписи с другими файлами) –

+1

@phuc, что подпись является двоичной. Как вы конвертируете его в текст и, соответственно, то, что он может содержать, зависит от вас. –

Смежные вопросы