Example #1
0
    /**
     * 输出新头像
     */
    public function getflashHtml()
    {
        $password = pkcs5_pad(time());
        $userinfo = model('User')->getUserInfo($GLOBALS['ts']['mid']);
        $defaultImg = $userinfo['avatar_big'];
        $uploadUrl = urlencode(U('public/Account/doSaveUploadAvatar'));
        echo ' <embed src="' . THEME_PUBLIC_URL . '/image/face.swf" quality="high" wmode="opaque" 
			FlashVars="uploadServerUrl=' . $uploadUrl . '&defaultImg=' . $defaultImg . '" 
			pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" 
			type="application/x-shockwave-flash" width="610" height="560"></embed>';
        exit;
    }
Example #2
0
function myCrypt($input, $key)
{
    $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
    $input = pkcs5_pad($input, $size);
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    $data = base64_encode($data);
    return $data;
}
function encrypt($plainText, $key)
{
    $secretKey = hextobin(md5($key));
    $initVector = pack("C*", 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf);
    $openMode = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', 'cbc', '');
    $blockSize = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, 'cbc');
    $plainPad = pkcs5_pad($plainText, $blockSize);
    if (mcrypt_generic_init($openMode, $secretKey, $initVector) != -1) {
        $encryptedText = mcrypt_generic($openMode, $plainPad);
        mcrypt_generic_deinit($openMode);
    }
    return bin2hex($encryptedText);
}
Example #4
0
function encrypt($input)
{
    $sKey = 'youkang12android';
    $iv = '1233211234567741';
    $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
    $input = pkcs5_pad($input, $size);
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
    //$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $sKey, $iv);
    $data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    return $data;
}
Example #5
0
function idtag_des_encode2($key, $text)
{
    $y = pkcs5_pad($text);
    $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, '');
    //使用MCRYPT_DES算法,cbc模式
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    $ks = mcrypt_enc_get_key_size($td);
    mcrypt_generic_init($td, $key, $key);
    //初始处理
    $encrypted = mcrypt_generic($td, $y);
    //解密
    mcrypt_generic_deinit($td);
    //结束
    mcrypt_module_close($td);
    return base64_encode($encrypted);
}
Example #6
0
function encrypt($plain_text, $cipher_key)
{
    $iv = "0123456789012345";
    $sha_cipher_key = hash("sha256", $cipher_key);
    $padded_cipher_key = substr($sha_cipher_key, 0, 32);
    $padded_plain_text = pkcs5_pad($plain_text, 16);
    //    printf("sha256 key is %s\n", $sha_cipher_key);
    //    printf("padded cipher key is %s\n\n", $padded_cipher_key);
    //    printf("padded plain_text is %s\n\n", $padded_plain_text);
    # This is the way to do AES-256 using mcrypt PHP - its not AES-128 or anything other than that!
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
    mcrypt_generic_init($td, $padded_cipher_key, $iv);
    $encrypted = mcrypt_generic($td, $padded_plain_text);
    $encode = base64_encode($encrypted);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    #printf("\nencoded: %s", $encode);
    return $encode;
}
Example #7
0
function diaspora_msg_build($msg, $user, $contact, $prvkey, $pubkey, $public = false)
{
    $a = get_app();
    if ($public) {
        return diaspora_pubmsg_build($msg, $user, $contact, $prvkey, $pubkey);
    }
    logger('diaspora_msg_build: ' . $msg, LOGGER_DATA);
    // without a public key nothing will work
    if (!$pubkey) {
        logger('diaspora_msg_build: pubkey missing: contact id: ' . $contact['id']);
        return '';
    }
    $inner_aes_key = random_string(32);
    $b_inner_aes_key = base64_encode($inner_aes_key);
    $inner_iv = random_string(16);
    $b_inner_iv = base64_encode($inner_iv);
    $outer_aes_key = random_string(32);
    $b_outer_aes_key = base64_encode($outer_aes_key);
    $outer_iv = random_string(16);
    $b_outer_iv = base64_encode($outer_iv);
    $handle = $user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(), '://') + 3);
    $padded_data = pkcs5_pad($msg, 16);
    $inner_encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $padded_data, MCRYPT_MODE_CBC, $inner_iv);
    $b64_data = base64_encode($inner_encrypted);
    $b64url_data = base64url_encode($b64_data);
    $data = str_replace(array("\n", "\r", " ", "\t"), array('', '', '', ''), $b64url_data);
    $type = 'application/xml';
    $encoding = 'base64url';
    $alg = 'RSA-SHA256';
    $signable_data = $data . '.' . base64url_encode($type) . '.' . base64url_encode($encoding) . '.' . base64url_encode($alg);
    $signature = rsa_sign($signable_data, $prvkey);
    $sig = base64url_encode($signature);
    $decrypted_header = <<<EOT
<decrypted_header>
  <iv>{$b_inner_iv}</iv>
  <aes_key>{$b_inner_aes_key}</aes_key>
  <author_id>{$handle}</author_id>
</decrypted_header>
EOT;
    $decrypted_header = pkcs5_pad($decrypted_header, 16);
    $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $outer_aes_key, $decrypted_header, MCRYPT_MODE_CBC, $outer_iv);
    $outer_json = json_encode(array('iv' => $b_outer_iv, 'key' => $b_outer_aes_key));
    $encrypted_outer_key_bundle = '';
    openssl_public_encrypt($outer_json, $encrypted_outer_key_bundle, $pubkey);
    $b64_encrypted_outer_key_bundle = base64_encode($encrypted_outer_key_bundle);
    logger('outer_bundle: ' . $b64_encrypted_outer_key_bundle . ' key: ' . $pubkey, LOGGER_DATA);
    $encrypted_header_json_object = json_encode(array('aes_key' => base64_encode($encrypted_outer_key_bundle), 'ciphertext' => base64_encode($ciphertext)));
    $cipher_json = base64_encode($encrypted_header_json_object);
    $encrypted_header = '<encrypted_header>' . $cipher_json . '</encrypted_header>';
    $magic_env = <<<EOT
<?xml version='1.0' encoding='UTF-8'?>
<diaspora xmlns="https://joindiaspora.com/protocol" xmlns:me="http://salmon-protocol.org/ns/magic-env" >
  {$encrypted_header}
  <me:env>
    <me:encoding>base64url</me:encoding>
    <me:alg>RSA-SHA256</me:alg>
    <me:data type="application/xml">{$data}</me:data>
    <me:sig>{$sig}</me:sig>
  </me:env>
</diaspora>
EOT;
    logger('diaspora_msg_build: magic_env: ' . $magic_env, LOGGER_DATA);
    return $magic_env;
}
Example #8
0
function AES256CBC_encrypt($data, $key, $iv)
{
    return mcrypt_encrypt(MCRYPT_RIJNDAEL_128, str_pad($key, 32, ""), pkcs5_pad($data, 16), MCRYPT_MODE_CBC, str_pad($iv, 16, ""));
}
Example #9
0
/**
 * DES加密函数
 *
 * @param string $input
 * @param string $key
 */
function desencrypt($input, $key)
{
    $size = mcrypt_get_block_size('des', 'ecb');
    $input = pkcs5_pad($input, $size);
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    @mcrypt_generic_init($td, $key, $iv);
    $data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    $data = base64_encode($data);
    return $data;
}
Example #10
0
        //查詢灌點來源
    //查詢灌點來源
    case "QueryEmpApproveFund":
        //查詢待審核名單
        $n_xml = $n_TimeStamp;
        //不需額外傳遞其他參數。
        break;
}
$n_PlainText = $n_ApiKey . "," . $n_xml;
//echo '<label for="textarea">明文:</label><textarea name="textarea" id="textarea" style="width:733px; background-color:#CCC; border:#333 1px solid;" rows="5">'.$n_PlainText.'</textarea><br /><br />';
function pkcs5_pad($text, $blocksize)
{
    $pad = $blocksize - strlen($text) % $blocksize;
    return $text . str_repeat(chr($pad), $pad);
}
$n_CipherText = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, base64_decode($n_AesKey), pkcs5_pad($n_PlainText, 16), MCRYPT_MODE_CBC, base64_decode($n_AesKeyIV)));
//echo '<label for="textarea">密文:</label><textarea name="textarea" id="textarea" style="width:733px; background-color:#CCC; border:#333 1px solid;" rows="5">'.$n_CipherText.'</textarea><br /><br />';
$n_ShaData = $n_TimeStamp . $n_ApiKey . $n_SaltKey . $n_CipherText;
$n_Signature = hash_hmac("sha512", $n_ShaData, $n_ShaKey);
//echo '<label for="textarea">簽章:</label><textarea name="textarea" id="textarea" style="width:733px; background-color:#CCC; border:#333 1px solid;" rows="5">'.$n_Signature.'</textarea><br /><br />';
switch ($_POST['mode']) {
    case "AddEmpAccount":
        //新增員工帳號
    //新增員工帳號
    case "DepartEmployee":
        //離職員工
        $wsdl = 'http://vm-pp-wf2.shp.tw1.yahoo.net/WebService/EmployeeAccountWebService.asmx?wsdl';
        break;
    case "RechargeEmpFund":
        //新增員工灌點
    //新增員工灌點
Example #11
0
		<div id="nav">
			<ul>
			<?php 
$files = glob("./files/*");
foreach ($files as $file) {
    $time = time();
    $fileName = explode("/", $file);
    $filePlace = sizeof($fileName) - 1;
    $url = "";
    if (isset($_GET['cipher'])) {
        $url .= "cipher=" . $p_cipher;
    }
    if (isset($_GET['encoding'])) {
        $url .= "&encoding=" . $p_encoding;
    }
    print "<li><a href=\"?{$url}&c=" . encode(encrypt(pkcs5_pad(genNonce(16) . "|" . $directory . "/" . $fileName[$filePlace], $blocksize), $cipher, $mode, $key, $iv), $p_encoding) . "\">" . ucwords($fileName[$filePlace]) . "</a></li>";
}
?>
			</ul>
		</div>
		<div id="content">
			<h1><?php 
print $title;
?>
</h1>
	<?php 
print @$theData;
?>
		</div>
</body>
</html>
Example #12
0
/**
* Php DES encryption function
 *
 * @param String $ key key
 * @param String $ text string
 * @return String
*/
function des_encode($key, $text)
{
    $y = pkcs5_pad($text);
    $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, '');
    //Use MCRYPT_DES algorithm, cbc mode
    $ks = mcrypt_enc_get_key_size($td);
    mcrypt_generic_init($td, $key, $key);
    //Initial treatment
    $encrypted = mcrypt_generic($td, $y);
    //Decryption
    mcrypt_generic_deinit($td);
    //End
    mcrypt_module_close($td);
    return base64_encode($encrypted);
}
Example #13
0
function chiffrement($decryptedMdp, $IV)
{
    /* Charge un chiffrement */
    $td = mcrypt_module_open('rijndael-128', '', 'cbc', '');
    $size = mcrypt_get_block_size('rijndael-128', 'cbc');
    /* Crée le VI et détermine la taille de la clé */
    $iv = imap_base64($IV);
    /* Crée la clé */
    $key = 'a7bc27daf59679de';
    $decryptedMdp = pkcs5_pad($decryptedMdp, $size);
    /* Initialise le module de chiffrement pour le déchiffrement */
    mcrypt_generic_init($td, $key, $iv);
    /* Chiffre les données */
    $mdpEncrypted = mcrypt_generic($td, $decryptedMdp);
    /* Libère le gestionnaire de chiffrement */
    mcrypt_generic_deinit($td);
    return $mdpEncrypted;
}
Example #14
0
    $pad = ord($text[strlen($text) - 1]);
    if ($pad > strlen($text)) {
        return false;
    }
    if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) {
        return false;
    }
    return substr($text, 0, -1 * $pad);
}
$input = 'abcdefghijklmnopqrstuwvxyz';
$iv = '00000000';
$key = '1234567890123456';
// $c = mcrypt_module_open('blowfish', '', 'cfb', '');
// mcrypt_generic_init($c, $key, $iv);
// $enc = mcrypt_generic($c, $input);
// echo (unpack('h*', $enc)[1]) . PHP_EOL;
echo ' PHP :: Actual' . PHP_EOL;
echo '      IN: ' . strlen($input) . ' :: ' . $input . PHP_EOL;
// $input = pkcs5_pad($input, mcrypt_module_get_algo_block_size('blowfish'));
$enc = mcrypt_encrypt('blowfish', $key, pkcs5_pad($input, 8), 'ecb', $iv);
echo ' ECB OUT: ' . strlen($enc) . ' :: ' . unpack('h*', $enc)[1] . PHP_EOL;
$enc = mcrypt_encrypt('blowfish', $key, pkcs5_pad($input, 8), 'cbc', $iv);
echo ' CBC OUT: ' . strlen($enc) . ' :: ' . unpack('h*', $enc)[1] . PHP_EOL;
$enc = mcrypt_encrypt('blowfish', $key, $input, 'cfb', $iv);
echo ' CFB OUT: ' . strlen($enc) . ' :: ' . unpack('h*', $enc)[1] . PHP_EOL;
$enc = mcrypt_encrypt('blowfish', $key, $input, 'ncfb', $iv);
echo 'NCFB OUT: ' . strlen($enc) . ' :: ' . unpack('h*', $enc)[1] . PHP_EOL;
$enc = mcrypt_encrypt('blowfish', $key, $input, 'ofb', $iv);
echo ' OFB OUT: ' . strlen($enc) . ' :: ' . unpack('h*', $enc)[1] . PHP_EOL;
$enc = mcrypt_encrypt('blowfish', $key, $input, 'nofb', $iv);
echo 'NOFB OUT: ' . strlen($enc) . ' :: ' . unpack('h*', $enc)[1] . PHP_EOL;
Example #15
0
{
    $pad = $blocksize - strlen($text) % $blocksize;
    return $text . str_repeat(chr($pad), $pad);
}
function pkcs5_unpad($text)
{
    $pad = ord($text[strlen($text) - 1]);
    if ($pad > strlen($text)) {
        return false;
    }
    if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) {
        return false;
    }
    return substr($text, 0, -1 * $pad);
}
$key = "20C86125F86DB932D0139D32D9208CEF52BAEC98F1E9BA2A";
$key = pack("H48", $key);
$iv = "0102030405060708";
$iv = pack("H16", $iv);
$td = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_CBC, '');
mcrypt_generic_init($td, $key, $iv);
$str = base64_encode(mcrypt_generic($td, pkcs5_pad("123456", 8)));
echo $str;
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$td = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_CBC, '');
mcrypt_generic_init($td, $key, $iv);
$ttt = pkcs5_unpad(mdecrypt_generic($td, base64_decode($str)));
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
#echo $ttt;
Example #16
0
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
$iv_size = mcrypt_enc_get_iv_size($cipher);
//      AES Key        : 'd2cb415e067c7b13'
//      AES IV         : 'e36dc751d0433f05'
//      HMAC KEY       : 'd6cfaad283353507'
//      Ciphertext(b64): 'Ru7RLA4o+iQZNJXBx0iXtgWSQuV8/uqj6R6M59egKfHhaBFuMTl9Mpsb4yx6\nkgokQAf1HUcLg32zGCPo8bH4Df5RUPXWSUfHNb3cR7Mf5I8=\n'
//      HMACb16        : '0f291f903f6abc951084bedb2210f48b30c4eb3e1bcce99b0967c5fda99d72a6'
// How do you do 256-bit AES encryption in PHP vs. 128-bit AES encryption???
// The answer is:  Give it a key that's 32 bytes long as opposed to 16 bytes long.
// We're using 16 bytes:
$key128 = "d2cb415e067c7b13";
$iv = "e36dc751d0433f05";
$hmac_key = "d6cfaad283353507";
// This is the plain-text to be encrypted:
$cleartext = "s_hostname:jonasnuts.blogs.sapo.pt OR s_hostname:jonasnuts.com;1350305502";
$cleartext = pkcs5_pad($cleartext, mcrypt_get_block_size('des', 'cbc'));
printf("plainText: %s\n\n", $cleartext);
// The mcrypt_generic_init function initializes the cipher by specifying both
// the key and the IV.  The length of the key determines whether we're doing
// 128-bit, 192-bit, or 256-bit encryption.
// Let's do 256-bit encryption here:
// Now let's do 128-bit encryption:
if (mcrypt_generic_init($cipher, $key128, $iv) != -1) {
    // PHP pads with NULL bytes if $cleartext is not a multiple of the block size..
    printf("len: %d", strlen($cleartext));
    $cipherText = mcrypt_generic($cipher, $cleartext);
    mcrypt_generic_deinit($cipher);
    // Display the result in hex.
    $b64ciphertext = base64_encode($cipherText);
    printf("Ciphertext(b64): %s (%d chars)\n", $b64ciphertext, strlen($b64ciphertext));
    printf("hmac (hex)     : %s\n\n", hash_hmac('sha256', $cipherText, $hmac_key));