Service: crypt
The crypt service provides cryptographic utilities for the application, including hashing, checksums, and PGP encryption/decryption.
Types
type HashType
HashType defines the supported hashing algorithms.
type HashType string
Methods
func EncryptPGP(writer io.Writer, recipientPath, data string, signerPath, signerPassphrase *string) (string, error)
EncryptPGP encrypts data for a specific recipient.
- writer: Optional output writer.
- recipientPath: Path to the recipient's public key.
- data: The data to encrypt.
- signerPath: Optional path to a private key to sign the message.
- signerPassphrase: Optional passphrase for the signing key.
Returns the encrypted data as a string.
func DecryptPGP(recipientPath, message, passphrase string, signerPath *string) (string, error)
DecryptPGP decrypts a PGP message.
- recipientPath: Path to the private key for decryption.
- message: The encrypted message (armor encoded).
- passphrase: Passphrase for the private key.
- signerPath: Optional path to the sender's public key to verify the signature.
Returns the decrypted string.
func Hash(lib HashType, payload string) string
Hash computes a hash of the payload using the specified algorithm (e.g., MD5, SHA256).
func Fletcher16(payload string) uint16
Fletcher16 computes the Fletcher-16 checksum of the payload.
func Fletcher32(payload string) uint32
Fletcher32 computes the Fletcher-32 checksum of the payload.
func Fletcher64(payload string) uint64
Fletcher64 computes the Fletcher-64 checksum of the payload.
func Luhn(payload string) bool
Luhn validates a number string using the Luhn algorithm (commonly used for credit card numbers).