• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رمز کردن رشته ها ی فارسی
#1
سلام دوستان با کدام تابع رشته هایی با کاراکتر های فارسی را با امنیت بالا به رمز درآورم البته قابل بازگشت باشه و رمز نگاری دوطرفه؟ ممنونم از راهنمایی شما...
  پاسخ
تشکر شده توسط :
#2
یکی از روشهاش استفاده از رمزنگاری نامتقارن هست که با کلید عمومی کد میشه و با کلید خصوصی خونده میشه
ساخت این کلید ها آلگوریتم خاصی داره

یه نمونه کد براتون میذارم که کلید عمومی و خصوصی هم داره
البته میتونید با تابع generate کلید عمومی و خصوصی جدیدی بسازید

کد پی‌اچ‌پی:
<?php

// Generate a public and private key
function generate()
{
    
// Set the key parameters
    
$config = array(
        
"digest_alg" => "sha512",
        
"private_key_bits" => 4096,
        
"private_key_type" => OPENSSL_KEYTYPE_RSA,
    );

    
// Create the private and public key
    
$res openssl_pkey_new($config);

    
// Extract the private key from $res to $privKey
    
openssl_pkey_export($res$privKey);

    
// Extract the public key from $res to $pubKey
    
$pubKey openssl_pkey_get_details($res);

    return array(
        
'private' => $privKey,
        
'public' => $pubKey["key"],
        
'type' => $config,
    );
}

// Encrypt data using the public key
function encrypt($data$publicKey)
{
    
// Encrypt the data using the public key
    
openssl_public_encrypt($data$encryptedData$publicKey);

    
// Return encrypted data
    
return base64_encode($encryptedData);
}

// Decrypt data using the private key
function decrypt($data$privateKey)
{
    
// Decrypt the data using the private key
    
openssl_private_decrypt(base64_decode($data), $decryptedData$privateKey);

    
// Return decrypted data
    
return $decryptedData;
}

// Encrypt and then decrypt a string
//$arrKeys = generate();

$arrKeys['public']='-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6aY1qT27QNvANdR3H+Wa
86DWKEVu4Luu5KpcuA21/SaZ9fKH81wz/vCkeigBEVAWZIBt9sIxZledLVwjTCF6
7I2yQ2PMkEJYOBVry9REdfPVSKjl76t9fk5ll4q95vbgiqlmr497mgchjkhTdbfC
nWHbSge8/O5UX9j9JPlHhrtEbGSniel58vd8l4YV1OLXh+i3IGj+YDDFctH44CtO
Q+yQaKAP4PB6mFmyVvqbbyF3Hq6/ZDmdIXRck2+DyFAfOvEQ7lB8AnRdd5ivFP0+
KYyEYpB4Q9JqKIX1jGsa6SYyB5gBNjUzgIuTP5Upivi87Q4T/cUEY5FXAATOFR8L
C0n/uZJA3/AsLAu3SImCyU+dupBT9zMiKH8RT1ln97af9Cqrjw6TVuPE6PAbY4RK
2idvwLtGUHo6MJSMUuxktF1dcer6EzhMN18wR2ZbSNpbPaiBrSsrwRKLs1ldd0xJ
YObBbkvIZc9/ogXhXDnwS3ofgrUhuNPcfki7eqEkARLvzKl6WN5IpFLlMDBwB91u
swghucNJvo3edMIF7espR1sdeEbZPg+zYa2xy4eqwVdDMbM1lU4iRdcQpk8rD28e
aPGDVfadJ42lxAgKyZ/cOD13d47aWRSB6QC0+8dRAqtM2eUn3xwRKnZeCguf32gN
TYTKYh8v+KdtdACz2TfXGyECAwEAAQ==
-----END PUBLIC KEY-----'
;

$arrKeys['private']='-----BEGIN PRIVATE KEY-----
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
jaoM4Risqw+nWnkgjWgEFoldNCP06L4i
-----END PRIVATE KEY-----'
;





$strEncrypted encrypt($orginal='این یک متن کد شده است'$arrKeys['public']);
$strDecrypted decrypt($strEncrypted$arrKeys['private']);
echo 
"<h1>Public key:</h1><br>";
echo 
$arrKeys['public'];
echo 
"<hr>";
echo 
"<h1>Private key:</h1><br>";
echo 
$arrKeys['private'];
echo 
"<hr><meta charset='utf-8'>";

echo 
"<h1>Encrypt string:</h1><br>";
echo (
$strEncrypted);

echo 
"<hr>";
echo 
"<h1>Decrypt string:</h1><br>";
echo 
$strDecrypted;

echo 
"<hr><h1>Orginal string:</h1><br>";
echo 
$orginal
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : ahora ayoubsys


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان