@types/jsrsasign
Version:
TypeScript definitions for jsrsasign
213 lines (194 loc) • 8.03 kB
TypeScript
declare namespace jsrsasign.KJUR.crypto {
/** static object for cryptographic function utilities */
const Util: {
/** PKCS#1 DigestInfo heading hexadecimal bytes for each hash algorithms */
DIGESTINFOHEAD: {
md2: string;
md5: string;
ripemd160: string;
sha1: string;
sha224: string;
sha256: string;
sha384: string;
sha512: string;
};
/** associative array of default provider name for each hash and signature algorithms */
DEFAULTPROVIDER: {
hmacmd5: string;
hmacripemd160: string;
hmacsha1: string;
hmacsha224: string;
hmacsha256: string;
hmacsha384: string;
hmacsha512: string;
md5: string;
MD5withECDSA: string;
MD5withRSA: string;
MD5withRSAandMGF1: string;
ripemd160: string;
RIPEMD160withECDSA: string;
RIPEMD160withRSA: string;
RIPEMD160withRSAandMGF1: string;
sha1: string;
SHA1withDSA: string;
SHA1withECDSA: string;
SHA1withRSA: string;
SHA1withRSAandMGF1: string;
sha224: string;
SHA224withDSA: string;
SHA224withECDSA: string;
SHA224withRSA: string;
SHA224withRSAandMGF1: string;
sha256: string;
SHA256withDSA: string;
SHA256withECDSA: string;
SHA256withRSA: string;
SHA256withRSAandMGF1: string;
sha384: string;
SHA384withECDSA: string;
SHA384withRSA: string;
SHA384withRSAandMGF1: string;
sha512: string;
SHA512withECDSA: string;
SHA512withRSA: string;
SHA512withRSAandMGF1: string;
};
CRYPTOJSMESSAGEDIGESTNAME: {
md5: string;
ripemd160: string;
sha1: string;
sha224: string;
sha256: string;
sha384: string;
sha512: string;
};
/**
* get hexadecimal DigestInfo
* @param hHash hexadecimal hash value
* @param alg hash algorithm name (ex. 'sha1')
* @return hexadecimal string DigestInfo ASN.1 structure
*/
getDigestInfoHex(hHash: string, alg: string): string;
/**
* get PKCS#1 padded hexadecimal DigestInfo
* @param hHash hexadecimal hash value of message to be signed
* @param alg hash algorithm name (ex. 'sha1')
* @param keySize key bit length (ex. 1024)
* @return hexadecimal string of PKCS#1 padded DigestInfo
*/
getPaddedDigestInfoHex(hHash: string, alg: string, keySize: number): string;
/**
* get hexadecimal hash of string with specified algorithm
* @param s input string to be hashed
* @param alg hash algorithm name
* @return hexadecimal string of hash value
*/
hashString(s: string, alg: string): string;
/**
* get hexadecimal hash of hexadecimal string with specified algorithm
* @param sHex input hexadecimal string to be hashed
* @param alg hash algorithm name
* @return hexadecimal string of hash value
*/
hashHex(sHex: string, alg: string): string;
/**
* get hexadecimal SHA1 hash of string
* @param s input string to be hashed
* @return hexadecimal string of hash value
*/
sha1(s: string): string;
/**
* get hexadecimal SHA256 hash of string
* @param s input string to be hashed
* @return hexadecimal string of hash value
*/
sha256(s: string): string;
sha256Hex(s: string): string;
/**
* get hexadecimal SHA512 hash of string
* @param s input string to be hashed
* @return hexadecimal string of hash value
*/
sha512(s: string): string;
/**
* get hexadecimal MD5 hash of string
* @param s input string to be hashed
* @return hexadecimal string of hash value
* @example
* Util.md5('aaa') → 47bce5c74f589f4867dbd57e9ca9f808
*/
md5(s: string): string;
/**
* get hexadecimal RIPEMD160 hash of string
* @param s input string to be hashed
* @return hexadecimal string of hash value
* @example
* KJUR.crypto.Util.ripemd160("aaa") → 08889bd7b151aa174c21f33f59147fa65381edea
*/
ripemd160(s: string): string;
/**
* get hexadecimal string of random value from with specified byte length
* @param n length of bytes of random
* @return hexadecimal string of random
* @example
* KJUR.crypto.Util.getRandomHexOfNbytes(3) → "6314af", "000000" or "001fb4"
* KJUR.crypto.Util.getRandomHexOfNbytes(128) → "8fbc..." in 1024bits
*/
getRandomHexOfNbytes(n: number): string;
/**
* get BigInteger object of random value from with specified byte length
* @param n length of bytes of random
* @return BigInteger object of specified random value
* @example
* KJUR.crypto.Util.getRandomBigIntegerOfNbytes(3) → 6314af of BigInteger
* KJUR.crypto.Util.getRandomBigIntegerOfNbytes(128) → 8fbc... of BigInteger
*/
getRandomBigIntegerOfNbytes(n: number): BigInteger;
/**
* get hexadecimal string of random value from with specified bit length
* @param n length of bits of random
* @return hexadecimal string of random
* @example
* KJUR.crypto.Util.getRandomHexOfNbits(24) → "6314af", "000000" or "001fb4"
* KJUR.crypto.Util.getRandomHexOfNbits(1024) → "8fbc..." in 1024bits
*/
getRandomHexOfNbits(n: number): string;
/**
* get BigInteger object of random value from with specified bit length
* @param n length of bits of random
* @return BigInteger object of specified random value
* @example
* KJUR.crypto.Util.getRandomBigIntegerOfNbits(24) → 6314af of BigInteger
* KJUR.crypto.Util.getRandomBigIntegerOfNbits(1024) → 8fbc... of BigInteger
*/
getRandomBigIntegerOfNbits(n: number): BigInteger;
/**
* get BigInteger object of random value from zero to max value
* @param biMax max value of BigInteger object for random value
* @return BigInteger object of specified random value
* @description
* This static method generates a BigInteger object with random value
* greater than or equal to zero and smaller than or equal to biMax
* (i.e. 0 ≤ result ≤ biMax).
* @example
* biMax = new BigInteger("3fa411...", 16);
* KJUR.crypto.Util.getRandomBigIntegerZeroToMax(biMax) → 8fbc... of BigInteger
*/
getRandomBigIntegerZeroToMax(biMax: number): BigInteger;
/**
* get BigInteger object of random value from min value to max value
* @param biMin min value of BigInteger object for random value
* @param biMax max value of BigInteger object for random value
* @return BigInteger object of specified random value
* @description
* This static method generates a BigInteger object with random value
* greater than or equal to biMin and smaller than or equal to biMax
* (i.e. biMin ≤ result ≤ biMax).
* @example
* biMin = new BigInteger("2fa411...", 16);
* biMax = new BigInteger("3fa411...", 16);
* KJUR.crypto.Util.getRandomBigIntegerMinToMax(biMin, biMax) → 32f1... of BigInteger
*/
getRandomBigIntegerMinToMax(biMin: number, biMax: number): BigInteger;
};
}