From: Shannon Fang Date: 2006-04-18T12:18:17+09:00 Subject: Re: a simple RSA Thanks a lot, this works fine. BTW, another related question: while I ruby code, I can write a long string like: (without using heredoc) str = "this is very long line 1" + "this is line 2" but if I write a number: num = 0x1234132410987094750245..... And the number is very long (an RSA key), how can I wrap the line? it seems that I cannot use a "\" by the end of line... Thanks! Shannon >From: "Sergey" >Reply-To: ruby-talk@ruby-lang.org >To: ruby-talk@ruby-lang.org (ruby-talk ML) >Subject: Re: a simple RSA >Date: Tue, 18 Apr 2006 06:19:07 +0900 > >Please see attached: >- samples with unpack/inject and each_byte use in str_to_num; > each_byte is faster; >- num_to_str without use of formatting; >- unit test stuff and >- benchmark code > >hope these help >regards >Sergey > >----- Original Message ----- On Monday, April 17, 2006 2:03 PM, Shannon >Fang wrote: >>Hi All, >> >>I tried to implement a simple RSA crypto for my work. It seems all works >>fine, except that I am not satisfied with the code I wrote below: >> >>def str_to_num(s) >> h = '0x' >> (0...s.length).each do |i| >> h += "%02x" % s[i] >> end >> eval(h) >>end >> >>def num_to_str(n) >> s = '' >> while n > 0 do >> s = "%c" % (n & 0xFF) + s >> n = n >> 8 >> end >> s >>end >> >>These 2 functions convert string to bignum and vise-versa. It works, but I >>feel there should be better (faster) way to do this. >> >>Could anyone point the way out? >> >>Thanks! >>Shannon ><< tStrToNum.rb >>