Skip to content

Encryption Helpers

Encryption helpers provide functions to encrypt and decrypt sensitive data using AES-GCM with PBKDF2 key derivation.

WARNING

Encryption secures data content but has performance trade-offs compared to signing. It requires more CPU resources and processing time. For edge runtimes like Cloudflare Workers, ensure you have sufficient CPU time budget (recommend >200ms per request) for encryption operations.

ts
import { 
decrypt
,
encrypt
} from '@orpc/server/helpers'
const
secret
= 'your-encryption-key'
const
sensitiveData
= '[email protected]'
const
encryptedData
= await
encrypt
(
sensitiveData
,
secret
)
// 'Rq7wF8...' (base64url encoded, unreadable) const
decryptedData
= await
decrypt
(
encryptedData
,
secret
)
// '[email protected]'

INFO

The decrypt helper accepts undefined or null as encrypted value and returns undefined for invalid inputs, enabling seamless handling of optional data.

Released under the MIT License.