Add public API
This commit is contained in:
parent
ba4c9399a9
commit
d77b54a2f8
6
src/decrypt.ts
Normal file
6
src/decrypt.ts
Normal file
@ -0,0 +1,6 @@
|
||||
import { cryptoAeadDecrypt } from './romulus-m'
|
||||
|
||||
export function decrypt (ciphertext: Buffer, associatedData: Buffer, nonce: Buffer, key: Buffer): Buffer {
|
||||
const plaintext = cryptoAeadDecrypt(Array.from(ciphertext), Array.from(associatedData), Array.from(nonce), Array.from(key))
|
||||
return Buffer.from(plaintext)
|
||||
}
|
6
src/encrypt.ts
Normal file
6
src/encrypt.ts
Normal file
@ -0,0 +1,6 @@
|
||||
import { cryptoAeadEncrypt } from './romulus-m'
|
||||
|
||||
export function encrypt (message: Buffer, associatedData: Buffer, nonce: Buffer, key: Buffer): Buffer {
|
||||
const ciphertext = cryptoAeadEncrypt(Array.from(message), Array.from(associatedData), Array.from(nonce), Array.from(key))
|
||||
return Buffer.from(ciphertext)
|
||||
}
|
@ -1 +1,2 @@
|
||||
console.log('Hello, World')
|
||||
export { encrypt } from './encrypt'
|
||||
export { decrypt } from './decrypt'
|
||||
|
21
tests/decrypt.test.ts
Normal file
21
tests/decrypt.test.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import { decrypt } from '../src/decrypt'
|
||||
|
||||
test('Test buffers are supported by decrypt function.', () => {
|
||||
// Given
|
||||
const ciphertext = Buffer.from([
|
||||
225, 53, 3, 212, 22, 112, 246, 194, 61, 171, 230, 187, 157, 102, 32, 76, 62, 65,
|
||||
25, 202, 255, 201, 206, 49, 60, 58, 82, 216, 72, 116, 106, 129, 162, 142, 69, 40,
|
||||
167, 88, 94, 195, 174, 217, 242, 149, 224, 125, 196, 237, 172, 165, 116, 119, 128
|
||||
])
|
||||
const associatedData = Buffer.from('Some associated data.')
|
||||
const nonce = Buffer.from('\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f')
|
||||
const key = Buffer.from('\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f')
|
||||
|
||||
// When
|
||||
const result = decrypt(ciphertext, associatedData, nonce, key)
|
||||
|
||||
// Then
|
||||
const expectedResult = Buffer.from('Hello, World! This is a test message.')
|
||||
|
||||
expect(result).toMatchObject(expectedResult)
|
||||
})
|
20
tests/encrypt.test.ts
Normal file
20
tests/encrypt.test.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { encrypt } from '../src/encrypt'
|
||||
|
||||
test('Test buffers are supported by encrypt function.', () => {
|
||||
// Given
|
||||
const message = Buffer.from('Hello, World! This is a test message.')
|
||||
const associatedData = Buffer.from('Some associated data.')
|
||||
const nonce = Buffer.from('\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f')
|
||||
const key = Buffer.from('\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f')
|
||||
|
||||
// When
|
||||
const result = encrypt(message, associatedData, nonce, key)
|
||||
|
||||
// Then
|
||||
const expectedResult = Buffer.from([
|
||||
225, 53, 3, 212, 22, 112, 246, 194, 61, 171, 230, 187, 157, 102, 32, 76, 62, 65,
|
||||
25, 202, 255, 201, 206, 49, 60, 58, 82, 216, 72, 116, 106, 129, 162, 142, 69, 40,
|
||||
167, 88, 94, 195, 174, 217, 242, 149, 224, 125, 196, 237, 172, 165, 116, 119, 128
|
||||
])
|
||||
expect(result).toMatchObject(expectedResult)
|
||||
})
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
// "include": ["src", "tests"],
|
||||
"exclude": []
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user