1. A system comprising: a hardware processor; one or more memory devices coupled with the hardware processor and effecting an operating system for the hardware processor; and a digital rights management (DRM) adaptor configured to check whether the hardware processor has a hardware-based encryption element by requesting information from the operating system regarding a dynamic library that supports a cryptographic program interface provided by the hardware processor, and testing acceptability of the cryptographic program interface by comparing a digital signature of the cryptographic program interface to an expected digital signature, use the hardware-based encryption element for cryptographic calls into the DRM adapter if available, and use a software-based encryption element if the hardware-based encryption element is not available, the software-based encryption element comprising code compiled from source code for the hardware processor, the source code prepared for different computer platforms.