ホームページ  >  記事  >  バックエンド開発  >  PHP と asp.net 間で共有できる可逆暗号化アルゴリズム C#_PHP チュートリアル

PHP と asp.net 間で共有できる可逆暗号化アルゴリズム C#_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:12:10767ブラウズ

作業要件のため、PHP で暗号化を生成し、asp.net で受信したパスワードを復号化する必要があります。以下に、PHP と asp.net C# の間で共有できる可逆暗号化アルゴリズムを示します。それを参照してください。

php暗号化アルゴリズム

コードは次のとおりです コードをコピー

class DES
{
var $key;
var $iv; //offset

function DES($ key = '11001100', $iv=0 ) {
//キーの長さ 8 例: 1234abcd
$this->key = $key;
if( $iv == 0 ) {
$this->iv = $ key; //デフォルトでは $key を iv
として使用します。
function encrypt($str ) {加 // 暗号化、大文字に戻す、16 進文字列
$ size = mcrypt_get_block_size (mcrypt_des, cbc); mcrypt_cbc(MCRYPT_DES, $this->key, $str, MCRYPT_ENCRYPT, $this->iv ) ) );
}

function decrypt($str) {
//復号化
$strBin = $this-> hex2bin( strto lower( $str ) );
$str = mcrypt_cbc( MCRYPT_DES, $this->key, $strBin, MCRYPT_DECRYPT, $this->iv );
$str = $this->pkcs5Unpad( $str );
return $str;
$binData .= chr ( hexdec ( substr ( $hexData, $i, 2) ));
Return $ Text . Str_repeat (chr ($pad), $pad); XT {strlen ( $text ) - 1} );
if ($pad > strlen ( $text ))
return false;
if (strspn ( $text, chr ( $pad )、 strlen ( $text ) - $pad ) != $pad)
falseを返します。

asp.net プログラム コード

コードは次のとおりです コードをコピー

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;

namespace WindowsFormsApplication1
{
///


/// DES 暗号化文字列と復号化文字列
///

//< summary> )
0, 8));
byte[] rgbIV = rgbKey; inputbytearray = enCoding.utf8.getBytes (Encryptstring);
foreach (mStream のバイト b) .toarray())

ret.appendformat( "{0:x2}"、b);️ /// 復号化キーは暗号化キーと同じ 8 桁でなければなりません

Returns&g t;
public static string DecryptDES(string decryptString, string decryptKey = "11001100")
rgbKey = ASCIIEncoding.ASCII.GetBytes(decryptKey);
byte[] rgbIV = rgbKey ;
inputByteArray = new byte[decryptString.Length / 2];
int i = (Convert.ToInt32 (decryptString.Substring " ServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream( mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write); return エンコーディング。 UTF8.GetString(mStream. ToArray() );



http://www.bkjia.com/PHPjc/444596.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/444596.html

技術記事

私たちの作業では、php で暗号化を生成し、asp.net で受け取ったパスワードを復号化する必要があるため、以下に PHP と asp.net C# の間で共有できる可逆暗号化アルゴリズムを見つけました。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。