php和c#一致的DES加密解密算法類分享
Jun 20, 2016 pm 01:05 PMphp和c#一致的DES加密解密算法類分享
DES加解密算法,在C#與PHP中的通用類。
注意:
1、類中的秘鑰key跟向量iv,均用的同樣的值
2、編碼均采用的utf-8
以下為具體代碼,可以直接復(fù)制去進(jìn)行實(shí)際測試
C#版代碼:
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Security.Cryptography; using System.IO; using System.Text; //C# 版DES 加解密算法類 public class Des{ //加解密密鑰 private static string skey = "12345678"; #region DESEnCode DES加密 public static string DESEnCode(string pToEncrypt, string sKey) { pToEncrypt = HttpContext.Current.Server.UrlEncode(pToEncrypt); DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(pToEncrypt); des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); StringBuilder ret = new StringBuilder(); foreach (byte b in ms.ToArray()) { ret.AppendFormat("{0:X2}", b); } ret.ToString(); return ret.ToString(); } #endregion #region DESDeCode DES解密 public static string DESDeCode(string pToDecrypt, string sKey) { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = new byte[pToDecrypt.Length / 2]; for (int x = 0; x <p><strong>PHP版代碼:</strong></p> <pre class="brush:php;toolbar:false"><?php //PHP 版DES 加解密算法類 class DES { var $key; var $iv; //偏移量 function DES($key) { //key長度為8位,例如:1234abcd $this->key = $key; $this->iv = $key; //默認(rèn)以$key 作為 iv } //加密 function encrypt($str) { $size = mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MODE_CBC ); $str = $this->pkcs5Pad ( $str, $size ); return strtoupper( bin2hex( mcrypt_cbc(MCRYPT_DES, $this->key, $str, MCRYPT_ENCRYPT, $this->iv ) ) ); } //解密 function decrypt($str) { $strBin = $this->hex2bin( strtolower( $str ) ); $str = mcrypt_cbc( MCRYPT_DES, $this->key, $strBin, MCRYPT_DECRYPT, $this->iv ); $str = $this->pkcs5Unpad( $str ); return $str; } function hex2bin($hexData) { $binData = ""; for($i = 0; $i strlen ( $text )) return false; if (strspn ( $text, chr ( $pad ), strlen ( $text ) - $pad ) != $pad) return false; return substr ( $text, 0, - 1 * $pad ); } } header("Content-type: text/html; charset=utf-8"); $key = '12345678'; $str = 'abc.123'; $des = new DES($key); $str_en_des = $des->encrypt($str); //加密字符串 $str_de_des = $des->decrypt($str_en_des); //解密字符串 echo '加密字符串:',$str,'<br>'; echo '加密秘鑰key:',$key,'<br><br>'; echo '加密后字符串:',$str_en_des,'<br>'; echo '解密后字符串:',$str_de_des,'<br>'; ?>

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP is a popular server-side programming language that is widely used in web application development. In practical applications, PHP encryption and decryption are very common operations. This article will introduce common encryption and decryption methods in PHP, as well as solutions to common problems. 1. Encryption method 1. Symmetric encryption method (SymmetricCryptography) Symmetric encryption method is the most widely used method in encryption technology. This method uses the same key to encrypt and decrypt data. In PHP, commonly used symmetric encryption

With the continuous development of network technology, data security has attracted more and more attention. In this information age, PHP, as a widely used programming language, also faces data security issues. This article will introduce you to how to use PHP to implement data encryption, decryption and transmission to ensure data security. 1. Data Encryption Data encryption refers to a technology that processes original data and turns it into a seemingly random sequence of characters to protect the original data. Encryption is divided into one-way encryption and symmetric encryption. One-way encryption means that only encryption operations can be performed

Methods and techniques for data encryption and decryption using PHP arrays Summary: Data encryption plays an important role in information security. This article will introduce methods and techniques for using PHP arrays to implement data encryption and decryption in order to protect the security of sensitive information. Introduction In modern society, network security issues have attracted increasing attention. To protect the security of sensitive information, data encryption is a common method. PHP array is a powerful and flexible data structure that can be used to store and manipulate data. By storing sensitive data in PHP array

How to use PHP encryption technology to protect the registration process and prevent registration fraud. In today's Internet era, the registration system has become a basic function of any website. However, due to the openness and free access of the Internet, some criminals often use automated scripts to conduct malicious registrations, causing trouble to the normal operation of the website. Therefore, protecting the registration process and preventing registration fraud has become a very important task. In order to protect the registration process and prevent registration fraud, we can use PHP encryption technology to enhance the security of the registration system. Down

With the popularization of network technology, network security issues have become a topic of increasing concern, and encryption and decryption technology have also attracted much attention. In PHP programming, encryption and decryption technology is a very important part. It can help us ensure the security of data and prevent data theft and malicious attacks. This article will introduce commonly used encryption and decryption algorithms and solutions in PHP. 1. The role of encryption and decryption technology In the network, data transmission often encounters many unsafe situations, such as data being intercepted, tampered with, and stolen by criminals.

In web development, security has always been one of the most important issues. Risks such as key leakage, data tampering and theft are always present, so protecting data security is particularly important. In order to ensure data security, we usually use encryption and decryption for data processing. In PHP, encryption and decryption are also very important parts. 1. Encryption methods in PHP In PHP, there are many encryption methods. Below we will introduce several commonly used encryption methods. md5 encryption md5 is a commonly used encryption method. it

With the continuous development of network technology, more and more websites and applications have higher and higher demands for data transmission security. Especially for websites and applications involving sensitive information, how to use PHP to protect data transmission security is crucial. This article will introduce some PHP methods to protect the security of data transmission. 1. Use HTTPS protocol HTTPS is an HTTP protocol based on TLS/SSL protocol to achieve data transmission security. Using the HTTPS protocol ensures information transmission between the client and the server

Analysis of Security Sensitive Data Encryption and Decryption Technology in PHP With the development of the Internet, data security has become an important issue. For website developers, how to protect users' sensitive data is particularly important. In PHP, we can use various encryption and decryption technologies to protect sensitive data. This article will provide an in-depth analysis of security sensitive data encryption and decryption technologies in PHP. 1. Basic principles of encryption Encryption is the process of converting plain text into cipher text. Only the person who has the key can decrypt the cipher text and restore it to plain text. In PHP, common encryption methods
