实现本地des和aes 解密的工具

实现本地des和aes 解密的工具

大家好,又见面了,我是全栈君。

<?php
$raw = file_get_contents('php://input');
if(!empty($raw)) {
    parse_str($raw);//解析到当前作用域
    if (!empty($method) && !empty($password) && !empty($encodetext)) {
        $method = trim($method);
        $password = trim($password);
        $encodetext = trim($encodetext);
        $allowdmethod = ['aes', 'des'];
        if (!in_array($method, $allowdmethod)) {
            die();
        }
        if ($method == 'aes') {
            $method = 'aes-128-cbc';
            $iv = '1234567890123456';
        }

        if ($method == 'des') {
            $method = 'des-cbc';
            $iv = '12345678';
        }

        $decodtext = openssl_decrypt($encodetext, $method, $password, false, $iv);
        die($decodtext);
    }
}

?>

<html>
    <head>
        <title>des和aes解密</title>
    </head>
    <body>
        <center>
            <form action="#" method="">
                <label for="">加密方式:</label>
                <input type="radio" name="method" value="des">DES
                <input type="radio" name="method" value="aes">AES<br/>
                <label for="">密码:</label>
                <input type="text" name="password" value=""><br/>
                <label for="">密文:</label><br>
                <textarea name="encodetext" id="" cols="100" rows="15"></textarea><br/>
                <input style="width:100px;height:100px" type="submit" id="myform" value="解密">
            </form>
            <br><br>
            <textarea id="decodetext" cols="100" rows="20">

            </textarea>
        <center/>
        <script src="/static/js/jquery-1.8.3.min.js" type="text/javascript"></script>
            <script type="text/javascript">
                var myform = document.getElementById("myform");
                myform.addEventListener('click',function(e){
                    e.preventDefault();
                    var method = $("input[name='method']:checked").val();
                    var password = $("input[name='password']").val();
                    var encodetext = $("textarea").val();
                    //console.log(method,password,encodetext);//return false;
                    $.ajax({
                        type : "POST",
                        url : "jsondecrypt.php",
                        data : {'method':method,'password':password,'encodetext':encodetext},
                        dataType : "text",
                        success : function(data){
                            $("#decodetext").val(data);
                            // console.log(data);
                        }
                    });
                });
            </script>
    </body>
</html>

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112136.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • c++事件循环(win32消息机制)

    1.windows消息循环if(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);//消息转化DispatchMessage(&msg);//消息派遣.把TranslateMessage转换的消息发送到窗口的消息处理函数,此函数在窗口注册时已经指定}执行过程:消息循环调用G…

  • touchesBegan等方法不执行

    touchesBegan等方法不执行今天写了一个自定义控件继承于UILabel,想要在上面添加点击事件,用touchesBegan等一系列方法实现,程序跑起来自信满满,突然发现程序不执行该方法,找了半天,了解到貌似touch事件只能被UIView捕获,然后把label的用户交互开启了(发现UIImageView和UILabel的交互默认是关闭的),就能让下面的view捕获到touch事件了

  • 无线突然变叉,无法使用[通俗易懂]

    无线突然变叉,无法使用[通俗易懂]1.查看了驱动,是正常的2.查看了控制面板,“无线”是开启的2.win + r 输入 services.msc进入策略这个三个改为自动,重启电脑

  • django的render函数_django render

    django的render函数_django renderreverse函数reverse函数的作用是用来进行URL反转的,接下来我们介绍reverse函数的几种用法之前我们都是通过url来访问视图函数。有时候我们知道这个视图函数,但是想反转回他的url

  • Java 编译时多态和运行时多态

    Java 编译时多态和运行时多态根据何时确定执行多态方法中的哪一个,多态分为两种情况:编译时多态和运行时多态。如果在编译时能够确定执行多态方法中的哪一个,称为编译时多态,否则称为运行时多态。一、编译时多态    方法重载都是编译时多态。根据实际参数的数据类型、个数和次序,Java在编译时能够确定执行重载方法中的哪一个。    方法覆盖表现出两种多态性,当对象引用本类实例时,为编译时多态,否则

  • php裁剪图片(支持定点裁剪)

    php裁剪图片(支持定点裁剪)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号