很多站长朋友们都不太清楚易语言desphp,今天小编就来给大家整理易语言desphp,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 易语言命令 加密数据() 第二个参数“密码文本”是什么意思? 2、 如何用php实现和c#一致的DES加密解密 3、 易语言怎么加密字符数字? 4、 易语言写程序如何防破解? 5、 易语言与PHP RC4加密解密的问题 6、 易语言编程 为什么没火 国产的啊 易语言命令 加密数据() 第二个参数“密码文本”是什么意思?易语言命令-加密数据
调用格式: 〈字节集〉 加密数据 (字节集 字节集数据,文本型 密码文本,[整数型 加密算法]) - 数据操作支持库一->数据加解密
英文名称:Encrypt
加密一段字节集数据,返回加密后的结果字节集。如果失败,返回空字节集。本命令为初级命令。
参数<1>的名称为“字节集数据”,类型为“字节集(bin)”。为命令提供所需的字节集数据。
参数<2>的名称为“密码文本”,类型为“文本型(text)”。
参数<3>的名称为“加密算法”,类型为“整数型(int)”,可以被省略。指定具体使用的加密算法,可以为以下常量值之一:1: #DES算法; 2: #RC4算法。加密和解密必须使用相同的算法,有关算法的具体说明请参阅有关文献。如果本参数被省略,则默认值为1,即DES算法。
而加密数据中的第二个参数“密码文本”可以理解为加密和解密所需的密钥。参照解密数据的调用格式来看 解密数据 (字节集 字节集数据,文本型 密码文本,[整数型 加密算法])。密码文本就是解密时所需的密钥。
例一:密钥不对:
例二:密钥正确:
如何用php实现和c#一致的DES加密解密PHP实现和c#一致的DES加密解密,可以从网上搜到一大堆,但是测试后发现都没法用。以下正确代码是我经过苦苦才找到的。希望大家在系统整合时能用的上。
注意:key的长度为8位以内。
[csharp] view plain copy print?
//C# 版DES 加解密算法
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;
public class Des{
//加解密密钥
private static string skey = "12345678";
//初始化向量
private static byte[] DESIV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
#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);
//建立加密对象的密钥和偏移量
//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
//使得输入密码必须输入英文文本
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
/// <summary>
///
/// </summary>
/// <param name="pToDecrypt"> 待解密的字符串</param>
/// <param name="sKey"> 解密密钥,要求为8字节,和加密密钥相同</param>
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>
#region DESDeCode DES解密
public static string DESDeCode(string pToDecrypt, string sKey)
{
// HttpContext.Current.Response.Write(pToDecrypt + "<br>" + sKey);
// HttpContext.Current.Response.End();
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
return HttpContext.Current.Server.UrlDecode(System.Text.Encoding.Default.GetString(ms.ToArray()));
}
#endregion
}
[php] view plain copy print?
<?php
class DES
{
var $key;
var $iv; //偏移量
function DES( $key, $iv=0 ) {
//key长度8例如:1234abcd
$this->key = $key;
if( $iv == 0 ) {
$this->iv = $key; //默认以$key 作为 iv
} else {
$this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_block_size (MCRYPT_DES, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM );
}
}
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 ( $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 );
}
}
?>
易语言怎么加密字符数字?.版本 2.支持库 dp1
.程序集 窗口程序集1
.子程序 _按钮1_被单击
' 这是加密
写配置项 (取运行目录 () + “\配置.ini”, “数据”, “数据1”, 到文本 (加密数据 (到字节集 (编辑框1.内容), “这里随便填,但是解密的时候要跟这里填的一样”, #RC4算法)))
写配置项 (取运行目录 () + “\配置.ini”, “数据”, “数据2”, 到文本 (加密数据 (到字节集 (编辑框2.内容), “这里随便填,但是解密的时候要跟这里填的一样”, #RC4算法)))
.子程序 _按钮2_被单击
' 这是解密
编辑框1.内容 = 到文本 (解密数据 (到字节集 (读配置项 (取运行目录 () + “\配置.ini”, “数据”, “数据1”, )), “这里随便填,但是解密的时候要跟这里填的一样”, #RC4算法))
编辑框2.内容 = 到文本 (解密数据 (到字节集 (读配置项 (取运行目录 () + “\配置.ini”, “数据”, “数据2”, )), “这里随便填,但是解密的时候要跟这里填的一样”, #RC4算法))
易语言写程序如何防破解?打乱ascii字符串,让od无法辨别出明文字符串防止被od跟踪
关键数据代码用ras或des等加密算法加密,等用到时在解密
crc32或md5取校验数据值,数据被改动这crc32和md5也会变动
变量验证或循环冗余验证,发现破解不要立即结束程序,让他跟一段在结束(例如:延时)
检查程序函数是否被hook(防止利用关键函数破解),模块是否正常(防止程序被劫持)
利用内存crc校验程序代码段,发现代码被修改立刻结束或标记。
使用高强度加密壳来vm关键代码,比如:se、vmp、vp、tmd、enigma等等
易语言防破解方法多不胜数,关键还是思路和技术,思路到了没技术也是写不出代码的!
易语言与PHP RC4加密解密的问题位密码算法:DES 三重DES(Triple-DES)仍然是很安全的,但是也只是在别无他法的情况下的一个较好的选择。显然高级加密标准(AES)是一个更好的加密算法,NIST用AES代替Triple-DES作为他们的标准(下面有更详细的讨论)。其他较好的算法包括另外两个AES的变种算法Twofish和Serpent-也称为CAST-128,它是效率和安全的完美结合。这几个算法不仅比DES更安全,而且也比DES的速度更快。为什么要使用一些又慢又不安全的算法呢?SHA1是一个哈希函数,而不是一个加密函数。作为一个哈希函数,SHA1还是相当优秀的,但是还需要几年的发展才能用作加密算法。如果你正在设计一个新系统,那么谨记你可能会在若干年后用SHA1代替目前的算法。我再重复一遍:只是可能。呵呵,希望能帮到你!谢谢望采纳哦!
易语言编程 为什么没火 国产的啊首先是业界难以接受中文编程,大多数程序员已经对英文编程先入为主了。其次是易语言公司在宣传上定位错误,偏向于小众化的个人编程,没有从主流的企业角度来大力推广自己。最后还有一个很头疼的问题,就是易语言编译的软件被一些杀软频繁误报,特别是国内某些技术能力低下的所谓云查杀不断误杀。
关于有些人说易语言只是汉化VB或者别的语言,我想说这些人不懂什么叫汉化。汉化就是在界面上进行本地化,其内在依然是原生的。比如中文版VC、汉化版Delphi,它们虽然汉化了,但是你还是必须要用英文来编程。而易语言不同,它从里到外都直接用中文编程。如果说它跟英文有关系的话,首先它是用VC++来开发的(这不叫汉化),其次它可以在代码中使用英文。实际上,易语言是吴涛用VC++编写出来的一种全新的编程工具,并非像那些汉化者一样拿eXeScope等工具简单汉化一下就完事了。
关于有人说易语言编写效率慢的问题,首先需要肯定的一点是,对于大型软件来说,用易语言来开发确实较慢,但这是从整个开发层面上来讲的,并非单纯的编写代码层面。就具体编写代码来说,易语言其实非常快。在这里有一点需要说明,易语言虽然是中文编程,并不是说编写代码时一定要调用中文输入法来输入,实际上它只需要输入汉字拼音的首字母就行了。比如“编辑框”,在英文编程中可能是“textbox”,而在易语言中输入“bjk”并按空格键即可。其编写代码的效率不但不低,反而很高。
最后要纠正一点,易语言其实已经很火了,只不过并不是在主流的程序员圈子里面火起来而已。官方论坛注册用户50万,帖子200多万。一些第三方论坛会员数也有十来万甚至更多。但是使用易语言的大多数是做小工具的,比如游戏外挂、个人辅助工具等软件,没有成为业界主流编程工具。
关于易语言desphp的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于易语言desphp 易语言DES加密超过8位的详细内容...