- openssl_private_decrypt(base64url_decode($data['key']), $k, $prvkey);
- openssl_private_decrypt(base64url_decode($data['iv']), $i, $prvkey);
+ openssl_private_decrypt(Strings::base64UrlDecode($data['key']), $k, $prvkey);
+ openssl_private_decrypt(Strings::base64UrlDecode($data['iv']), $i, $prvkey);
+
+ return self::decryptAES256CBC(Strings::base64UrlDecode($data['data']), $k, $i);
+ }
+
+
+ /**
+ * Creates cryptographic secure random digits
+ *
+ * @param string $digits The count of digits
+ * @return int The random Digits
+ *
+ * @throws \Exception In case 'random_int' isn't usable
+ */
+ public static function randomDigits($digits)
+ {
+ $rn = '';
+
+ // generating cryptographically secure pseudo-random integers
+ for ($i = 0; $i < $digits; $i++) {
+ $rn .= random_int(0, 9);
+ }