For website 5 times faster
https://responsively.app/
Web
library of SVG images and illustrations that you can use on your projects
https://undraw.co/
Web
Collection of free APIs that you can use on your projects.
https://github.com/public-apis/public-apis
Web
https://regexone.com/
Web
abc… Letters
123… Digits
\d Any Digit
\D Any Non-digit character
. Any Character
\. Period
[abc] Only a, b, or c
[^abc] Not a, b, nor c
[a-z] Characters a to z
[0-9] Numbers 0 to 9
\w Any Alphanumeric character
\W Any Non-alphanumeric character
{m} m Repetitions
{m,n} m to n Repetitions
* Zero or more repetitions
+ One or more repetitions
? Optional character
\s Any Whitespace
\S Any Non-whitespace character
^…$ Starts and ends
(…) Capture Group
(a(bc)) Capture Sub-group
(.*) Capture all
(abc|def) Matches abc or def
Web
in PHP
0 ? mcrypt_create_iv( 16 ) : "" );
$temp .= hash_hmac( 'sha256', $plaintext, $mac_key, true );
$temp .= hash_hmac( 'sha256', $meta, $mac_key, true );
$mac = hash_hmac( 'sha256', $temp, $mac_key, true );
$siv = substr( $mac, 0, 16 );
// Encrypt the message
$enc = mcrypt_encrypt( 'rijndael-128', $enc_key, $plaintext, 'ctr', $siv );
return base64_encode( $siv . $nonce . $enc );
}
/**
* Decrypts an encrypted string
*
* @param string $key Encryption key, also used during encryption
* @param string $encrypted Encrypted string to be decrypted
* @param mixed $meta Associated data that must be the same as when encrypted
*
* @return string Decrypted string or `null` if key/meta has been tampered with
*/
function decrypt( $key, $ciphertext, $meta = '' ) {
// Generate valid key
$key = hash_pbkdf2( 'sha256', $key, '', 10000, 0, true );
// Serialize metadata
$meta = serialize($meta);
// Derive two subkeys from the original key
$mac_key = hash_hmac( 'sha256', 'mac', $key, true );
$enc_key = hash_hmac( 'sha256', 'enc', $key, true );
$enc_key = substr( $enc_key, 0, 32 );
// Unpack MAC, nonce and encrypted message from the ciphertext
$enc = base64_decode( $ciphertext );
$siv = substr( $enc, 0, 16 );
$nonce = substr( $enc, 16, 16 );
$enc = substr( $enc, 16 + 16 );
// Decrypt message
$plaintext = mcrypt_decrypt( 'rijndael-128', $enc_key, $enc, 'ctr', $siv );
// Verify MAC, return null if message is invalid
$temp = $nonce;
$temp .= hash_hmac( 'sha256', $plaintext, $mac_key, true );
$temp .= hash_hmac( 'sha256', $meta, $mac_key, true );
$mac = hash_hmac( 'sha256', $temp, $mac_key, true );
if ( $siv !== substr( $mac, 0, 16 ) ) return null;
return $plaintext;
}
/**
* Encrypts a string
*
* Do not use this function, it is only here for historical reference
*
* @param string $key Encryption key, also required for decryption
* @param string $raw Raw string to be encrypted
*
* @return string Raw data encrypted with key
*/
// function encrypt($key, $raw) {
// return base64_encode(mcrypt_encrypt(
// MCRYPT_RIJNDAEL_256,
// md5($key),
// $raw,
// MCRYPT_MODE_CBC,
// md5(md5($key))
// ));
// }
/**
* Decrypts an encrypted string
*
* Do not use this function, it is only here for historical reference
*
* @param string $key Encryption key, also used during encryption
* @param string $encrypted Encrypted string to be decrypted
*
* @return string Decrypted string or `null` if key/meta has been tampered with
*/
// function decrypt($key, $encrypted) {
// return rtrim(
// mcrypt_decrypt(
// MCRYPT_RIJNDAEL_256,
// md5($key),
// base64_decode($encrypted),
// MCRYPT_MODE_CBC,
// md5(md5($key))
// )
// );
// }
************
'Rich', 'email' => 'rich@richjenks.com' ];
$encrypted = encrypt($key, $raw, $meta);
$decrypted = decrypt($key, $encrypted, $meta);
echo 'KEY:';
var_dump($key);
echo 'RAW:';
var_dump($raw);
echo 'META:';
var_dump($meta);
echo 'ENCRYPTED:';
var_dump($encrypted);
echo 'DENCRYPTED:';
var_dump($decrypted);
Other Web