Class OpenCrypto
java.lang.Object
cloud.opencode.base.crypto.OpenCrypto
Main facade class for cryptographic operations - Provides simplified access to all crypto features
加密操作的主门面类 - 提供对所有加密功能的简化访问
Features | 主要功能:
- Unified access to all cryptographic operations - 统一访问所有加密操作
- Digest/hash computation (SHA-2, SHA-3, SM3, BLAKE) - 摘要/哈希计算(SHA-2、SHA-3、SM3、BLAKE)
- Symmetric encryption (AES-GCM, ChaCha20, SM4) - 对称加密(AES-GCM、ChaCha20、SM4)
- Asymmetric encryption (RSA-OAEP, SM2) - 非对称加密(RSA-OAEP、SM2)
- Digital signatures (Ed25519, ECDSA, RSA-PSS) - 数字签名(Ed25519、ECDSA、RSA-PSS)
- Password hashing (Argon2, BCrypt, SCrypt) - 密码哈希(Argon2、BCrypt、SCrypt)
Usage Examples | 使用示例:
// SHA-256 digest
String hash = OpenCrypto.sha256().digestHex("data");
// AES-GCM encryption
AeadCipher aes = OpenCrypto.aesGcm();
byte[] encrypted = aes.encrypt(data, key);
// Digital signature
OpenSign signer = OpenCrypto.ed25519().withGeneratedKeyPair();
byte[] sig = signer.sign("message");
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Null-safe: Partial - 空值安全: 部分
- Since:
- JDK 25, opencode-base-crypto V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic OpenSymmetricaesCbc()AES-CBC cipher AES-CBC 加密static AeadCipheraesGcm()AES-GCM cipher (recommended) AES-GCM 加密(推荐)static AeadCipherAES-256-GCM cipher AES-256-GCM 加密static PasswordHashargon2()Argon2id password hash (recommended) Argon2id 密码哈希(推荐)static Argon2KdfArgon2 KDF (requires Bouncy Castle) Argon2 密钥派生(需要 Bouncy Castle)static OpenAsymmetricasymmetric(AsymmetricAlgorithm algorithm) Custom asymmetric cipher 自定义非对称加密static PasswordHashbcrypt()BCrypt password hash BCrypt 密码哈希static OpenDigestblake2b()BLAKE2b digester (requires Bouncy Castle) BLAKE2b 摘要器(需要 Bouncy Castle)static OpenDigestblake3()BLAKE3 digester (requires Bouncy Castle) BLAKE3 摘要器(需要 Bouncy Castle)static AeadCipherChaCha20-Poly1305 cipher ChaCha20-Poly1305 加密static OpenDigestdigester(DigestAlgorithm algorithm) Custom digester by algorithm 自定义摘要器static KeyExchangeEngineecdhP256()ECDH P-256 key exchange ECDH P-256 密钥协商static OpenSignECDSA P-256 signer ECDSA P-256 签名static OpenSignECDSA P-384 signer ECDSA P-384 签名static OpenSigned25519()Ed25519 signer (recommended) Ed25519 签名(推荐)static OpenSigned448()Ed448 signer Ed448 签名static EnvelopeCryptoenvelope()Envelope encryption (RSA + AES-GCM) 信封加密(RSA + AES-GCM)static Hkdfhkdf()HKDF-SHA256 HKDF-SHA256static MachmacSha256(byte[] key) HMAC-SHA256 HMAC-SHA256static MachmacSha512(byte[] key) HMAC-SHA512 HMAC-SHA512static HybridCryptohybrid()Hybrid encryption (public key encrypts symmetric key) 混合加密(公钥加密对称密钥)static PasswordHashpbkdf2()PBKDF2 password hash PBKDF2 密码哈希static Pbkdf2PBKDF2-SHA256 KDF PBKDF2-SHA256 密钥派生static OpenAsymmetricrsa()RSA-PKCS1 cipher RSA-PKCS1 加密static OpenAsymmetricrsaOaep()RSA-OAEP-SHA256 cipher (recommended) RSA-OAEP-SHA256 加密(推荐)static OpenSignrsaPss()RSA-PSS-SHA256 signer RSA-PSS-SHA256 签名static PasswordHashscrypt()SCrypt password hash SCrypt 密码哈希static OpenDigestsha256()SHA-256 digester SHA-256 摘要器static OpenSignRSA-SHA256 signer RSA-SHA256 签名static OpenDigestsha3_256()SHA3-256 digester SHA3-256 摘要器static OpenDigestsha3_512()SHA3-512 digester SHA3-512 摘要器static OpenDigestsha384()SHA-384 digester SHA-384 摘要器static OpenDigestsha512()SHA-512 digester SHA-512 摘要器static OpenSignsigner(SignatureAlgorithm algorithm) Custom signer 自定义签名器static OpenAsymmetricsm2()SM2 cipher (requires Bouncy Castle) SM2 加密(需要 Bouncy Castle)static OpenSignsm2Sign()SM2 signer (requires Bouncy Castle) SM2 签名(需要 Bouncy Castle)static OpenDigestsm3()SM3 digester (requires Bouncy Castle) SM3 摘要器(需要 Bouncy Castle)static Sm4Ciphersm4Cbc()SM4-CBC cipher (requires Bouncy Castle) SM4-CBC 加密(需要 Bouncy Castle)static AeadCiphersm4Gcm()SM4-GCM cipher (requires Bouncy Castle) SM4-GCM 加密(需要 Bouncy Castle)static OpenSymmetricsymmetric(SymmetricAlgorithm algorithm) Custom symmetric cipher 自定义对称加密static KeyExchangeEnginex25519()X25519 key exchange (recommended) X25519 密钥协商(推荐)
-
Method Details
-
sha256
SHA-256 digester SHA-256 摘要器- Returns:
- OpenDigest instance for SHA-256
-
sha384
SHA-384 digester SHA-384 摘要器- Returns:
- OpenDigest instance for SHA-384
-
sha512
SHA-512 digester SHA-512 摘要器- Returns:
- OpenDigest instance for SHA-512
-
sha3_256
SHA3-256 digester SHA3-256 摘要器- Returns:
- OpenDigest instance for SHA3-256
-
sha3_512
SHA3-512 digester SHA3-512 摘要器- Returns:
- OpenDigest instance for SHA3-512
-
sm3
SM3 digester (requires Bouncy Castle) SM3 摘要器(需要 Bouncy Castle)- Returns:
- OpenDigest instance for SM3
-
blake2b
BLAKE2b digester (requires Bouncy Castle) BLAKE2b 摘要器(需要 Bouncy Castle)- Returns:
- OpenDigest instance for BLAKE2b-256
-
blake3
BLAKE3 digester (requires Bouncy Castle) BLAKE3 摘要器(需要 Bouncy Castle)- Returns:
- OpenDigest instance for BLAKE3
-
digester
Custom digester by algorithm 自定义摘要器- Parameters:
algorithm- digest algorithm- Returns:
- OpenDigest instance
-
aesGcm
AES-GCM cipher (recommended) AES-GCM 加密(推荐)- Returns:
- AES-GCM cipher instance
-
aesGcm256
AES-256-GCM cipher AES-256-GCM 加密- Returns:
- AES-256-GCM cipher instance
-
aesCbc
AES-CBC cipher AES-CBC 加密- Returns:
- OpenSymmetric instance for AES-CBC
-
chacha20Poly1305
ChaCha20-Poly1305 cipher ChaCha20-Poly1305 加密- Returns:
- ChaCha20-Poly1305 cipher instance
-
sm4Gcm
SM4-GCM cipher (requires Bouncy Castle) SM4-GCM 加密(需要 Bouncy Castle)SM4 is the Chinese national cryptographic standard (GB/T 32907-2016). SM4 是中国国家密码标准(GB/T 32907-2016)。
- Returns:
- SM4-GCM cipher instance / SM4-GCM 加密实例
-
sm4Cbc
SM4-CBC cipher (requires Bouncy Castle) SM4-CBC 加密(需要 Bouncy Castle)- Returns:
- SM4-CBC cipher instance / SM4-CBC 加密实例
-
symmetric
Custom symmetric cipher 自定义对称加密- Parameters:
algorithm- symmetric algorithm- Returns:
- OpenSymmetric instance
-
rsaOaep
RSA-OAEP-SHA256 cipher (recommended) RSA-OAEP-SHA256 加密(推荐)- Returns:
- OpenAsymmetric instance for RSA-OAEP
-
rsa
RSA-PKCS1 cipher RSA-PKCS1 加密- Returns:
- OpenAsymmetric instance for RSA
-
sm2
SM2 cipher (requires Bouncy Castle) SM2 加密(需要 Bouncy Castle)- Returns:
- OpenAsymmetric instance for SM2
-
asymmetric
Custom asymmetric cipher 自定义非对称加密- Parameters:
algorithm- asymmetric algorithm- Returns:
- OpenAsymmetric instance
-
ed25519
Ed25519 signer (recommended) Ed25519 签名(推荐)- Returns:
- OpenSign instance for Ed25519
-
ed448
-
ecdsaP256
ECDSA P-256 signer ECDSA P-256 签名- Returns:
- OpenSign instance for ECDSA P-256
-
ecdsaP384
ECDSA P-384 signer ECDSA P-384 签名- Returns:
- OpenSign instance for ECDSA P-384
-
sha256WithRsa
RSA-SHA256 signer RSA-SHA256 签名- Returns:
- OpenSign instance for RSA-SHA256
-
rsaPss
RSA-PSS-SHA256 signer RSA-PSS-SHA256 签名- Returns:
- OpenSign instance for RSA-PSS
-
sm2Sign
SM2 signer (requires Bouncy Castle) SM2 签名(需要 Bouncy Castle)- Returns:
- OpenSign instance for SM2
-
signer
Custom signer 自定义签名器- Parameters:
algorithm- signature algorithm- Returns:
- OpenSign instance
-
argon2
Argon2id password hash (recommended) Argon2id 密码哈希(推荐)- Returns:
- PasswordHash instance for Argon2id
-
bcrypt
BCrypt password hash BCrypt 密码哈希- Returns:
- PasswordHash instance for BCrypt
-
scrypt
SCrypt password hash SCrypt 密码哈希- Returns:
- PasswordHash instance for SCrypt
-
pbkdf2
PBKDF2 password hash PBKDF2 密码哈希- Returns:
- PasswordHash instance for PBKDF2
-
hmacSha256
HMAC-SHA256 HMAC-SHA256- Parameters:
key- secret key- Returns:
- Mac instance for HMAC-SHA256
-
hmacSha512
HMAC-SHA512 HMAC-SHA512- Parameters:
key- secret key- Returns:
- Mac instance for HMAC-SHA512
-
hkdf
-
pbkdf2Kdf
-
argon2Kdf
Argon2 KDF (requires Bouncy Castle) Argon2 密钥派生(需要 Bouncy Castle)- Returns:
- Argon2Kdf instance
-
x25519
X25519 key exchange (recommended) X25519 密钥协商(推荐)- Returns:
- KeyExchangeEngine instance for X25519
-
ecdhP256
ECDH P-256 key exchange ECDH P-256 密钥协商- Returns:
- KeyExchangeEngine instance for ECDH P-256
-
envelope
Envelope encryption (RSA + AES-GCM) 信封加密(RSA + AES-GCM)- Returns:
- EnvelopeCrypto instance
-
hybrid
Hybrid encryption (public key encrypts symmetric key) 混合加密(公钥加密对称密钥)- Returns:
- HybridCrypto instance
-