Search Results des_cbc_pkcs5




Overview

SYS.DBMS_CRYPTO is the Oracle-supplied PL/SQL package that exposes the database's built-in cryptographic toolkit. In the Oracle E-Business Suite 12.1.1 and 12.2.2 environments, it is owned by SYS and classified as an "OTHER" API within the E-Business Technical Reference Manual (ETRM). Rather than implementing a business workflow, DBMS_CRYPTO delivers foundational security primitives — hashing, keyed hashing, symmetric encryption/decryption, and random value generation — that other EBS components and custom extensions consume to protect sensitive data at rest and in transit.

Within EBS, the package underpins scenarios such as storing encrypted credentials, generating checksums and integrity hashes for comparison and reconciliation, and producing cryptographically strong random values for keys, salts, and tokens. Because it resides in SYS, it is globally available to any schema with the appropriate EXECUTE grant, and is referenced by six other documented packages, confirming its role as a shared low-level dependency in the EBS stack.

Key Procedures and Functions

The ETRM documents fifteen procedures and functions, of which the following are named. No parameter lists are reproduced here; purposes are described as documented.

  • ENCRYPT — Performs symmetric encryption of supplied source data (RAW or CLOB) using a caller-selected block cipher algorithm and key.
  • DECRYPT — Reverses ENCRYPT, recovering the original plaintext from a ciphertext value using the matching algorithm and key.
  • HASH — Computes a one-way message digest over input data, using algorithms such as MD4, MD5, SHA-1, and the SHA-2 family (SHA-256/384/512) exposed as package constants.
  • MAC — Generates a keyed Message Authentication Code (HMAC variants: HMAC_MD5 and HMAC_SHA-1/256/384/512) to verify both integrity and authenticity of data.
  • RANDOMBYTES — Returns a RAW buffer filled with cryptographically generated random bytes, typically used for keys, initialization vectors, or salts.
  • RANDOMNUMBER — Produces a random number of the appropriate numeric type for key or token generation.
  • RANDOMINTEGER — Produces a random integer, useful for seeding values or generating unpredictable identifiers.

Block cipher constants documented include ENCRYPT_DES, ENCRYPT_3DES_2KEY, ENCRYPT_3DES, and ENCRYPT_AES, plus their associated cipher modifiers and chaining/padding options.

Tables Accessed

DBMS_CRYPTO is a stateless, computational package. The ETRM metadata lists no tables referenced through APPS synonyms. It performs no reads or writes against EBS application tables; all inputs and outputs are passed as parameters within the PL/SQL call. Any persistence of encrypted or hashed values is the responsibility of the calling code, not this package.

Usage Notes

Typical invocation occurs in three contexts within EBS:

  • Custom PL/SQL and concurrent programs — Developers wrap ENCRYPT/DECRYPT to secure applicant identifiers, tax IDs, or integration credentials stored in custom tables.
  • Package-to-package calls — The six referencing packages use hashing or encryption internally for signature validation or data obfuscation.
  • Oracle Forms / OAF code — Java or Forms-based extensions may call the underlying database primitives for token generation.

Security practitioners comparing "IBM HashiCorp Vault vs Emudhra CertiNext" should note that DBMS_CRYPTO is not a secrets-management platform; it is an in-database cryptographic library. Vault and CertiNext provide centralized key custody, certificate lifecycle, and audit; DBMS_CRYPTO provides the algorithmic operations. The VARCHAR2 datatype is unsupported — inputs must be converted to AL32UTF8 and then to RAW, and CLOBs are automatically converted to AL32UTF8 before hashing or encryption to ensure portability across databases and processes.