[db:标题]

2026-04-06 05:461阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计438个文字,预计阅读时间需要2分钟。

php

/** * 加密 * @param string $str 要处理的字符串 * @param string $key 加密密钥 * @return string */ public static function share($str, $key) { if (is_null(self::$instance)) { self::$instance=new JoDES(); } return self::$instance->encrypt($str, $key); }

private function encrypt($str, $key) { // 加密逻辑 }}

PHP

classJoDES{ privatestatic$_instance=NULL; /** *@returnJoDES */ publicstaticfunctionshare(){ if(is_null(self::$_instance)){ self::$_instance=newJoDES(); } returnself::$_instance; } /** *加密 *@paramstring$str要处理的字符串 *@paramstring$key加密Key,为8个字节长度 *@returnstring */ publicfunctionencode($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; } /** *解密 *@paramstring$str要处理的字符串 *@paramstring$key解密Key,为8个字节长度 *@returnstring */ publicfunctiondecode($str,$key){ $strBin=base64_decode($str); $str=mcrypt_cbc(MCRYPT_DES,$key,$strBin,MCRYPT_DECRYPT,$key); $str=$this->pkcs5Unpad($str); return$str; } functionhex2bin($hexData){ $binData=""; for($i=0;$i<strlen($hexData);$i+=2){ $binData.=chr(hexdec(substr($hexData,$i,2))); } return$binData; } functionpkcs5Pad($text,$blocksize){ $pad=$blocksize-(strlen($text)%$blocksize); return$text.str_repeat(chr($pad),$pad); } functionpkcs5Unpad($text){ $pad=ord($text{strlen($text)-1}); if($pad>strlen($text)) returnfalse; if(strspn($text,chr($pad),strlen($text)-$pad)!=$pad) returnfalse; returnsubstr($text,0,-1*$pad); } }

C#

publicclassMyDes { ///<summary> ///DES加密方法 ///</summary> ///<paramname="strPlain">明文</param> ///<paramname="strDESKey">密钥</param> ///<paramname="strDESIV">向量</param> ///<returns>密文</returns> publicstaticstringEncode(stringsource,string_DESKey) { StringBuildersb=newStringBuilder(); using(DESCryptoServiceProviderdes=newDESCryptoServiceProvider()) { 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; stringencrypt=""; using(MemoryStreamms=newMemoryStream()) using(CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write)) { cs.Write(dataByteArray,0,dataByteArray.Length); cs.FlushFinalBlock(); encrypt=Convert.ToBase64String(ms.ToArray()); } returnencrypt; } } ///<summary> ///进行DES解密。 ///</summary> ///<paramname="pToDecrypt">要解密的base64串</param> ///<paramname="sKey">密钥,且必须为8位。</param> ///<returns>已解密的字符串。</returns> publicstaticstringDecode(stringsource,stringsKey) { byte[]inputByteArray=System.Convert.FromBase64String(source);//Encoding.UTF8.GetBytes(source); using(DESCryptoServiceProviderdes=newDESCryptoServiceProvider()) { des.Key=ASCIIEncoding.ASCII.GetBytes(sKey); des.IV=ASCIIEncoding.ASCII.GetBytes(sKey); System.IO.MemoryStreamms=newSystem.IO.MemoryStream(); using(CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write)) { cs.Write(inputByteArray,0,inputByteArray.Length); cs.FlushFinalBlock(); cs.Close(); } stringstr=Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); returnstr; } } }

本文共计438个文字,预计阅读时间需要2分钟。

php

/** * 加密 * @param string $str 要处理的字符串 * @param string $key 加密密钥 * @return string */ public static function share($str, $key) { if (is_null(self::$instance)) { self::$instance=new JoDES(); } return self::$instance->encrypt($str, $key); }

private function encrypt($str, $key) { // 加密逻辑 }}

PHP

classJoDES{ privatestatic$_instance=NULL; /** *@returnJoDES */ publicstaticfunctionshare(){ if(is_null(self::$_instance)){ self::$_instance=newJoDES(); } returnself::$_instance; } /** *加密 *@paramstring$str要处理的字符串 *@paramstring$key加密Key,为8个字节长度 *@returnstring */ publicfunctionencode($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; } /** *解密 *@paramstring$str要处理的字符串 *@paramstring$key解密Key,为8个字节长度 *@returnstring */ publicfunctiondecode($str,$key){ $strBin=base64_decode($str); $str=mcrypt_cbc(MCRYPT_DES,$key,$strBin,MCRYPT_DECRYPT,$key); $str=$this->pkcs5Unpad($str); return$str; } functionhex2bin($hexData){ $binData=""; for($i=0;$i<strlen($hexData);$i+=2){ $binData.=chr(hexdec(substr($hexData,$i,2))); } return$binData; } functionpkcs5Pad($text,$blocksize){ $pad=$blocksize-(strlen($text)%$blocksize); return$text.str_repeat(chr($pad),$pad); } functionpkcs5Unpad($text){ $pad=ord($text{strlen($text)-1}); if($pad>strlen($text)) returnfalse; if(strspn($text,chr($pad),strlen($text)-$pad)!=$pad) returnfalse; returnsubstr($text,0,-1*$pad); } }

C#

publicclassMyDes { ///<summary> ///DES加密方法 ///</summary> ///<paramname="strPlain">明文</param> ///<paramname="strDESKey">密钥</param> ///<paramname="strDESIV">向量</param> ///<returns>密文</returns> publicstaticstringEncode(stringsource,string_DESKey) { StringBuildersb=newStringBuilder(); using(DESCryptoServiceProviderdes=newDESCryptoServiceProvider()) { 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; stringencrypt=""; using(MemoryStreamms=newMemoryStream()) using(CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write)) { cs.Write(dataByteArray,0,dataByteArray.Length); cs.FlushFinalBlock(); encrypt=Convert.ToBase64String(ms.ToArray()); } returnencrypt; } } ///<summary> ///进行DES解密。 ///</summary> ///<paramname="pToDecrypt">要解密的base64串</param> ///<paramname="sKey">密钥,且必须为8位。</param> ///<returns>已解密的字符串。</returns> publicstaticstringDecode(stringsource,stringsKey) { byte[]inputByteArray=System.Convert.FromBase64String(source);//Encoding.UTF8.GetBytes(source); using(DESCryptoServiceProviderdes=newDESCryptoServiceProvider()) { des.Key=ASCIIEncoding.ASCII.GetBytes(sKey); des.IV=ASCIIEncoding.ASCII.GetBytes(sKey); System.IO.MemoryStreamms=newSystem.IO.MemoryStream(); using(CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write)) { cs.Write(inputByteArray,0,inputByteArray.Length); cs.FlushFinalBlock(); cs.Close(); } stringstr=Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); returnstr; } } }