好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

易语言desphp 易语言DES加密超过8位

很多站长朋友们都不太清楚易语言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位的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did209799
更新时间:2023-05-03   阅读:84次

上一篇: php时间插件 php日期控件

下一篇:php删除语句 php删除指定字符串

相关资讯

最新资料更新

  • 1.php数组冒泡排序 php冒泡排序面试题
  • 2.php从事哪个方面 php干啥的
  • 3.php包含eaplay吗 php是否包含
  • 4.php循环处理速度 phpforeach循环
  • 5.php界面怎么设置 php界面设计
  • 6.php语言怎么玩 php语言入门
  • 7.php数组逗号分隔 php中的输出语句 能使用逗号分隔多个表达式
  • 8.php中table行宽 php网页表格
  • 9.php求100的质数 php求出1100的素数
  • 10.php内存管理垃圾回收 php的垃圾回收机制是怎样的
  • 11.php接收tcp数据 php tcp udp
  • 12.php单个会话内存 php会话保存数据的两种方式是
  • 13.哈希mapphp 哈希map和哈希table区别
  • 14.php获取网页乱码 php网页显示乱码
  • 15.php接收xml异常 php处理xml数据
  • 16.php赋值后改变 php变量赋值
  • 17.php仿站技术 用仿站小工具制作网站
  • 18.php正则获取图片 php使用正则表达式
  • 19.php事务的隔离级别 php事务处理
  • 20.php多继承的作用 php继承关键字

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]