Я писал базовый код для подписания RSA в python. Я следую алгоритму "signing using PKCS#1v1.5" given in this link", чтобы написать свой код.Подписание с использованием PKCS # 1v1.5 в python
Проблема у меня есть:
str(0xff)
напечатает в качестве255
, что делать, если нужно напечатать его в качествеff
.m1=int(EB
) дает ошибку здесь, что строка не может быть преобразована в целое
Смотрите также комментарии в коде.
import base64
import hashlib
import sys
n = 10392375058367591777745272308490227595632232134725136954719856174172516058308321424487346832495069435689262787352029085086868718467777431373834585373191417287320167973413392229322303831857648705571740574051698603070580066538338848957849965171408334783538757631952827470
e = 65537
d = 17565091249452647225549595093023216057619090797007849313736034124434893324058360379487364521346397323516481360986683274410980788633530769996790469838235089550522885790106853124306578513977869050393094033637670437634572856174875038057195517551596745993052717984365235149738925687601660611790816608095661093629
m= '250887726'
h= hashlib.sha256 (m)
print h
t= '3031300d060960864801650304020105000420' + str(h)
print t
str1=str(00)
print str1
str2=str(01)
print str2
str3=str(0xff) # it prints as 255 what to do if want to print it as ff
print str3
EB=str1+str2+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str3+str1+str(t)
print 'EB:', EB
m1=int(EB) # it gives error here that string can't be converted to integer
s= pow (m1, d, n)
print 'signature: ',s
Я не суп Какой у вас вопрос? – Carpetsmoker
Я хочу удалить ошибки в моем коде. Я упомянул в коде, где появляются ошибки. – sar
В строке m1 = int (EB). Я хочу преобразовать строку EB в integer, чтобы я мог ее подписать. Но всякий раз, когда я запускаю код, он дает ошибку недействительный литерал для int() с базой 10. – sar