Need help with jsbn?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

andyperlitch
135 Stars 36 Forks Other 28 Commits 18 Opened issues

Description

The jsbn library is a fast, portable implementation of large-number math in pure JavaScript, enabling public-key crypto and other applications on desktop and mobile browsers.

Services available

!
?

Need anything else?

Contributors list

# 131,095
Shell
jekyll-...
curricu...
Jekyll
8 commits
# 1,833
JavaScr...
gatsby
chakra-...
GraphQL
2 commits
# 59,681
JavaScr...
GitHub
npm
package...
1 commit
# 12,276
GitHub
Ruby
Lisp
Jekyll
1 commit
# 125,900
aws-s3
SQL
Apache ...
spanner
1 commit
# 7,630
JavaScr...
HTML
bigdeci...
arbitra...
1 commit
# 7,399
ESLint
commiti...
semanti...
exec
1 commit

jsbn: javascript big number

Tom Wu's Original Website

I felt compelled to put this on github and publish to npm. I haven't tested every other big integer library out there, but the few that I have tested in comparison to this one have not even come close in performance. I am aware of the

bi
module on npm, however it has been modified and I wanted to publish the original without modifications. This is jsbn and jsbn2 from Tom Wu's original website above, with the module pattern applied to prevent global leaks and to allow for use with node.js on the server side.

Usage

var BigInteger = require('jsbn').BigInteger;

var bi = new BigInteger('91823918239182398123'); console.log(bi.bitLength()); // 67

API

bi.toString([radix]) => string

Returns a string representing the BigInteger

bi
.
  • radix
    - Optional. An integer between 2 and 36 specifying the base to use for representing numeric values.

If the

radix
is not specified, the preferred
radix
is assumed to be 10.

bi.negate() => BigInteger

Returns a new

BigInteger
equal to the negation of
bi
.

bi.abs() => BigInteger

Returns a

BigInteger
equal to the absolute value of
bi
.

note: if the

bi
is a positive value, it will be returned as is, otherwise a new instance of
BigInteger
is returned.

bi.compareTo(other) => number

Compare to

BigInteger
s. The return value will be a negative JavaScript number if
bi
is less than
other
, a positive number if
bi
is greater than
other
, and
0
if
bi
and
other
represents the same integer.

bi.bitLength() => number

Returns the number of bits used to store

bi
as a JavaScript number.

bi.mod(m) => BigInteger

Returns a

BigInteger
with the value of (
bi
mod
m
).

bi.modPow(exponent, m) => BitInteger

Returns a

BigInteger
with the value of (
bi
exponent
mod
m
).

bi.modPowInt

bi.clone

bi.intValue

bi.byteValue

bi.shortValue

bi.signum

bi.toByteArray

bi.equals

bi.min

bi.max

bi.and

bi.or

bi.xor

bi.andNot

bi.not

bi.shiftLeft

bi.shiftRight

bi.getLowestSetBit

bi.bitCount

bi.testBit

bi.setBit

bi.clearBit

bi.flipBit

bi.add

bi.subtract

bi.multiply

bi.divide

bi.remainder

bi.divideAndRemainder

bi.modPow

bi.modInverse

bi.pow

bi.gcd

bi.isProbablePrime

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.