[xmlsec] Mscrypto IS patch
Aleksey Sanin
aleksey at aleksey.com
Mon Sep 22 12:51:10 PDT 2003
>>11) src/mscrypto/bignum.c, xmlSecMSCryptoDecToHex(),
>>xmlSecMSCryptoHexToDec() and friends
>>Sorry, I don't understand what you wrote in these functions. IMHO,
>>there were too many code and
>>too many mallocs for such a simple task. I rewrote both functions.
>>Please check that I did not break
>>break your tests.
>>
>>
>
>Could you explain the approach you've taken with the newly written code
>here? I've taken a look why they are not working, but excexpt for a
>wrong assertion at line 198 (should be become xmlSecAssert2(outBase <=
>sizeof(xmlSecMSCryptoRevLookupTable), NULL);) I couldn't find a trivial
>error, nor could I understand what the code does.
>
>
This code is wrong (I sent a message about that last night). I know how
to write a better code
(faster/less mallocs) than one you intialy wrote and I hope to do it
tonight. The basic idea is
to implement following operations:
- add int to bignum
- mul bignum by int
- div bignum by int
where bignum is a binary buffer that MSCrypto returns. After that
converting that buffer (bignum)
to and from dec string is a piece of cake:
bignum-->dec string
dec_str = "";
while(bignum != 0) {
dec _str += convert_to_char(bignum % 10);
bignum = bignum / 10;
}
dec string->bignum
bignum = 0;
for(i = 0; i < strlen(dec_string);i++) {
bignum = bignum * 10;
bignum = bignum + convert_to_int(dec_str[i]);
}
Aleksey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.aleksey.com/pipermail/xmlsec/attachments/20030922/0922d44f/attachment.htm
More information about the xmlsec
mailing list