memory

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2025 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

Package memory provides secure memory management utilities for handling sensitive data such as tokens, credentials, and other secrets.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ZeroBytes added in v1.0.1

func ZeroBytes(buf []byte)

ZeroBytes overwrites the buffer with zeros.

Types

type SecureBuffer

type SecureBuffer struct {
	// contains filtered or unexported fields
}

SecureBuffer represents a secure memory buffer for storing sensitive data. It provides automatic cleanup and protection against memory dumps.

func NewSecureBuffer

func NewSecureBuffer(data []byte) *SecureBuffer

NewSecureBuffer creates a new secure buffer with the given data. The data is copied into the buffer to ensure isolation.

func (*SecureBuffer) Bytes

func (sb *SecureBuffer) Bytes() []byte

Bytes returns a copy of the buffer's data. The returned slice is safe to use and modify.

func (*SecureBuffer) BytesCopy added in v1.0.1

func (sb *SecureBuffer) BytesCopy() []byte

BytesCopy returns a copy of the buffer's data. The returned slice is safe to use and modify.

func (*SecureBuffer) Clear

func (sb *SecureBuffer) Clear()

Clear securely wipes the buffer's memory by overwriting it with random data and then zeroing it out. After calling Clear(), the buffer should not be used.

func (*SecureBuffer) ClearFast added in v1.0.1

func (sb *SecureBuffer) ClearFast()

ClearFast wipes the buffer's memory by zeroing it out only. This skips the random overwrite for speed.

func (*SecureBuffer) IsCleared

func (sb *SecureBuffer) IsCleared() bool

IsCleared returns true if the buffer has been cleared.

func (*SecureBuffer) Len

func (sb *SecureBuffer) Len() int

Len returns the length of the buffer.

func (*SecureBuffer) String deprecated

func (sb *SecureBuffer) String() string

Deprecated: String returns a string copy that cannot be zeroized. Prefer BytesCopy for sensitive data.

func (*SecureBuffer) UnsafeString added in v1.0.1

func (sb *SecureBuffer) UnsafeString() string

UnsafeString returns the buffer's data as a string copy. The resulting string cannot be zeroized and may persist in memory.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL