日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

PHP、C#、通用的DES加密

發布時間:2023/12/19 C# 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP、C#、通用的DES加密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

PHP

class?JoDES?{private?static?$_instance?=?NULL;/***?@return?JoDES*/public?static?function?share()?{if?(is_null(self::$_instance))?{self::$_instance?=?new?JoDES();}return?self::$_instance;}/***?加密*?@param?string?$str?要處理的字符串*?@param?string?$key?加密Key,為8個字節長度*?@return?string*/public?function?encode($str,?$key)?{$size?=?mcrypt_get_block_size(MCRYPT_DES,?MCRYPT_MODE_CBC);$str?=?$this->pkcs5Pad($str,?$size);$aaa?=?mcrypt_cbc(MCRYPT_DES,?$key,?$str,?MCRYPT_ENCRYPT,?$key);$ret?=?base64_encode($aaa);return?$ret;}/***?解密*?@param?string?$str?要處理的字符串*?@param?string?$key?解密Key,為8個字節長度*?@return?string*/public?function?decode($str,?$key)?{$strBin?=?base64_decode($str);$str?=?mcrypt_cbc(MCRYPT_DES,?$key,?$strBin,?MCRYPT_DECRYPT,?$key);$str?=?$this->pkcs5Unpad($str);return?$str;}function?hex2bin($hexData)?{$binData?=?"";for?($i?=?0;?$i?<?strlen($hexData);?$i?+=?2)?{$binData?.=?chr(hexdec(substr($hexData,?$i,?2)));}return?$binData;}function?pkcs5Pad($text,?$blocksize)?{$pad?=?$blocksize?-?(strlen($text)?%?$blocksize);return?$text?.?str_repeat(chr($pad),?$pad);}function?pkcs5Unpad($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);}}

C#?

public?class?MyDes{///?<summary>///?DES加密方法///?</summary>///?<param?name="strPlain">明文</param>///?<param?name="strDESKey">密鑰</param>///?<param?name="strDESIV">向量</param>///?<returns>密文</returns>public?static?string?Encode(string?source,?string?_DESKey){StringBuilder?sb?=?new?StringBuilder();using?(DESCryptoServiceProvider?des?=?new?DESCryptoServiceProvider()){byte[]?key?=?ASCIIEncoding.ASCII.GetBytes(_DESKey);byte[]?iv?=?ASCIIEncoding.ASCII.GetBytes(_DESKey);byte[]?dataByteArray?=?Encoding.UTF8.GetBytes(source);des.Mode?=?System.Security.Cryptography.CipherMode.CBC;des.Key?=?key;des.IV?=?iv;string?encrypt?=?"";using?(MemoryStream?ms?=?new?MemoryStream())using?(CryptoStream?cs?=?new?CryptoStream(ms,?des.CreateEncryptor(),?CryptoStreamMode.Write)){cs.Write(dataByteArray,?0,?dataByteArray.Length);cs.FlushFinalBlock();encrypt?=?Convert.ToBase64String(ms.ToArray());}return?encrypt;}}///?<summary>///?進行DES解密。///?</summary>///?<param?name="pToDecrypt">要解密的base64串</param>///?<param?name="sKey">密鑰,且必須為8位。</param>///?<returns>已解密的字符串。</returns>public?static?string?Decode(string?source,?string?sKey){byte[]?inputByteArray?=?System.Convert.FromBase64String(source);//Encoding.UTF8.GetBytes(source);using?(DESCryptoServiceProvider?des?=?new?DESCryptoServiceProvider()){des.Key?=?ASCIIEncoding.ASCII.GetBytes(sKey);des.IV?=?ASCIIEncoding.ASCII.GetBytes(sKey);System.IO.MemoryStream?ms?=?new?System.IO.MemoryStream();using?(CryptoStream?cs?=?new?CryptoStream(ms,?des.CreateDecryptor(),?CryptoStreamMode.Write)){cs.Write(inputByteArray,?0,?inputByteArray.Length);cs.FlushFinalBlock();cs.Close();}string?str?=?Encoding.UTF8.GetString(ms.ToArray());ms.Close();return?str;}}}


轉載于:https://my.oschina.net/7478729/blog/549172

總結

以上是生活随笔為你收集整理的PHP、C#、通用的DES加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。