mirror of
https://github.com/nbd-wtf/nostr-tools.git
synced 2025-12-09 16:48:50 +00:00
Implement NIP-44: secure versioned replacement for NIP4 (#221)
This commit is contained in:
10
README.md
10
README.md
@@ -224,7 +224,7 @@ assert(data.relays.length === 2)
|
||||
### Encrypting and decrypting direct messages
|
||||
|
||||
```js
|
||||
import { nip04, getPublicKey, generatePrivateKey } from 'nostr-tools'
|
||||
import {nip44, getPublicKey, generatePrivateKey} from 'nostr-tools'
|
||||
|
||||
// sender
|
||||
let sk1 = generatePrivateKey()
|
||||
@@ -236,7 +236,8 @@ let pk2 = getPublicKey(sk2)
|
||||
|
||||
// on the sender side
|
||||
let message = 'hello'
|
||||
let ciphertext = await nip04.encrypt(sk1, pk2, message)
|
||||
let key = nip44.getSharedSecret(sk1, pk2)
|
||||
let ciphertext = nip44.encrypt(key, message)
|
||||
|
||||
let event = {
|
||||
kind: 4,
|
||||
@@ -251,8 +252,9 @@ sendEvent(event)
|
||||
// on the receiver side
|
||||
sub.on('event', async event => {
|
||||
let sender = event.pubkey
|
||||
pk1 === sender
|
||||
let plaintext = await nip04.decrypt(sk2, pk1, event.content)
|
||||
// pk1 === sender
|
||||
let _key = nip44.getSharedSecret(sk2, pk1)
|
||||
let plaintext = nip44.decrypt(_key, event.content)
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user