crypto-base-buffer.md 3.3 KB

init(expectedSize, [value], [encoding])

Initialize object If a key is not given generate a new random key.

Valid keys, once converted to a node buffer, must have expectedSize in length. If a key is represented by a string the string length depends on the encoding so do not rely on string lengths to calculate key sizes.

Parameters

expectedSize: number, expected size of the buffer in bytes

[value]: String|Buffer|Array, value to initialize the buffer with

[encoding]: Srting, encoding to use in conversion if value is a string. Defaults to 'hex'

setEncoding(encoding)

Set the default encoding to use in all string conversions

Parameters

encoding: String, encoding to use

getEncoding()

Get the current default encoding

getType()

Return the type of data stored in the buffer. Example: "BoxKeyPublicKey" for a Box object's public key

setValidEncodings(encList)

Set the valid string encodings

A lot of cryptographic functions rely on random buffer data that cannot be accurately converted to and from some encoding schemes. This method allows you to restrict the string encoding to settings you know will work

Parameters

encList: Array, array of strings with supported encodings

error(errorMessage)

Generate a new Error appropriate to use with throw

Parameters

errorMessage,

toBuffer(value, [encoding])

Convert value into a buffer

Parameters

value: String|Buffer|Array, a buffer, and array of bytes or a string that you want to convert to a buffer

[encoding]: String, encoding to use in conversion if value is a string. Defaults to 'hex'

size()

Get the length of the buffer

Returns

number, length in bytes of the buffer

isValid(value, [encoding])

Check if value could be used by CryptoBaseBuffer as a buffer

Parameters

value: String|Buffer|Array, to test

[encoding]: String, encoding to use in conversion if value is a string. Defaults to 'hex'

Returns

boolean, true if value could be used as a CryptoBaseBuffer

wipe()

Wipe buffer securely

generate()

Fill buffer with random bytes This method can be redefined in each sub-class to implement the specific needs of that class

get()

Getter for the baseBuffer

Returns

undefined| Buffer, secret key

set(value, [encoding])

Set the secret key to a known value

Parameters

value: String|Buffer|Array, the secret value to set the buffer to

[encoding]: String, If v is a string you can specify the encoding.

toString(optional)

Convert the secret key to a string object

Parameters

optional: ncoding {String, sting encoding. defaults to 'hex'

serialize([encoding])

Serialize a CryptoBaseBuffer

Parameters

[encoding]: String, encoding used to convert the buffer to a string

Returns

string, parsable JSON string

deserialize(obj)

Deserialize object. Take a parsable JSON string and create a valid buffer object

Parameters

obj: Object, parsable JSON String