php加密des
对接方des加密 是用.net 写的
我用的是php 就大侠把.net的加密程序帮我 转换成 php的
模板采用响应式设计,自动适应手机,电脑及平板显示;满足单一店铺外卖需求。功能:1.菜单分类管理2.菜品管理:菜品增加,删除,修改3.订单管理4.友情链接管理5.数据库备份6.文章模块:如:促销活动,帮助中心7.单页模块:如:企业信息,关于我们更强大的功能在开发中……安装方法:上传到网站根目录,运行http://www.***.com/install 自动
0
下面是 .NET 的加密程序:
public class DESEncryptDecrypt { private string Key; private string IV; private DESCryptoServiceProvider IDes; private byte[] GetKey; private byte[] GetIV; public DESEncryptDecrypt() { this.Key = "%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7&*^$^&*%&*%$@#@^"; this.IV = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk"; this.Init(); } public DESEncryptDecrypt(string Key) { this.Key = Key; this.IV = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk"; this.Init(); } public DESEncryptDecrypt(string Key,string IV) { this.Key = Key; this.IV = IV; this.Init(); } private void Init() { this.IDes = new DESCryptoServiceProvider(); this.IDes.GenerateKey(); this.GetKey = this.IDes.Key; this.IDes.GenerateIV(); this.GetIV = this.IDes.IV; } /// <summary> /// 获得密钥 /// </summary> /// <returns>密钥</returns> private byte[] GetLegalKey() { string sTemp = this.Key; byte[] bytTemp = this.GetKey; int KeyLength = bytTemp.Length; if (sTemp.Length > KeyLength) { sTemp = sTemp.Substring(0, KeyLength); } else { if (sTemp.Length < KeyLength) { sTemp = sTemp.PadRight(KeyLength, ' '); } } return ASCIIEncoding.ASCII.GetBytes(sTemp); } /// <summary> /// 获得初始向量IV /// </summary> /// <returns>初试向量IV</returns> private byte[] GetLegalIV() { string sTemp = this.Key; byte[] bytTemp = this.GetIV; int IVLength = bytTemp.Length; if (sTemp.Length > IVLength) { sTemp = sTemp.Substring(0, IVLength); } else { if (sTemp.Length < IVLength) { sTemp = sTemp.PadRight(IVLength, ' '); } } return ASCIIEncoding.ASCII.GetBytes(sTemp); } /// <summary> /// 加密算法 /// </summary> /// <param name="data"></param> /// <returns></returns> public string Encrypt(string data) { //将要加密的数据编码为字节数组 byte[] encrypt_data = System.Text.Encoding.UTF8.GetBytes(data); //如果使用Unicode编码,支持中文加密 //创建流,保存加密后的数据 MemoryStream ms = new MemoryStream(); //创建加密流 CryptoStream cs = new CryptoStream(ms, this.IDes.CreateEncryptor(this.GetLegalKey(), this.GetLegalIV()), CryptoStreamMode.Write); //调用Write方法将加密后的结果写到 流 中 cs.Write(encrypt_data, 0, encrypt_data.Length); //将数据从流写入内存(这句不能少,否则在从内存导出到字符串的时候会出现字符丢失) cs.FlushFinalBlock(); //ms.ToString(); ==>将流写入字节数组中 string result = Convert.ToBase64String(ms.ToArray()); ms.Close(); cs.Close(); return result; } /// <summary> /// 解密算法 /// </summary> /// <param name="data"></param> /// <returns></returns> public string Decrypt(string data) { byte[] decrypt_data = Convert.FromBase64String(data); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, this.IDes.CreateDecryptor(this.GetLegalKey(), this.GetLegalIV()), CryptoStreamMode.Write); cs.Write(decrypt_data, 0, decrypt_data.Length); cs.FlushFinalBlock(); string result = System.Text.Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); cs.Close(); return result; } }
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号