function pkcs1pad2(s,n) {
  if(n < s.length + 11) {
    alert("Message too long for RSA");
    return null;
  }
  var ba = new Array();
  var i = s.length - 1;
  while(i >= 0 && n > 0) ba[--n] = s.charCodeAt(i--);
  ba[--n] = 0;
  var rng = new SecureRandom();
  var x = new Array();
  while(n > 2) { // random non-zero pad
    x[0] = 0;
    while(x[0] == 0) rng.nextBytes(x);
    ba[--n] = x[0];
  }
  ba[--n] = 2;
  ba[--n] = 0;
  return new BigInteger(ba);
}
function pkcs1pad2(s,n) {
  if(n < s.length + 11) {
    alert("Message too long for RSA");
    return null;
  }
  var ba = new Array();
  var i = s.length - 1;
  while(i >= 0 && n > 0) ba[--n] = s.charCodeAt(i--);
  ba[--n] = 0;
  var rng = new SecureRandom();
  var x = new Array();
  while(n > 2) { 
    x[0] = 0;
    while(x[0] == 0) rng.nextBytes(x);
    ba[--n] = x[0];
  }
  ba[--n] = 2;
  ba[--n] = 0;
  return new BigInteger(ba);
}
function pkcs1pad2 ( s , n ) { if ( n < s . length + 11 ) { alert ( "Message too long for RSA" ) ; return null ; } var ba = new Array ( ) ; var i = s . length - 1 ; while ( i >= 0 && n > 0 ) ba [ -- n ] = s . charCodeAt ( i -- ) ; ba [ -- n ] = 0 ; var rng = new SecureRandom ( ) ; var x = new Array ( ) ; while ( n > 2 ) { // random non-zero pad x [ 0 ] = 0 ; while ( x [ 0 ] == 0 ) rng . nextBytes ( x ) ; ba [ -- n ] = x [ 0 ] ; } ba [ -- n ] = 2 ; ba [ -- n ] = 0 ; return new BigInteger ( ba ) ; }
PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint
PKCS#1 ( type 2 random ) pad input string s to n bytes and return a bigint