实现本地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>

  

posted @ 2019-08-09 17:44  码农编程进阶笔记  阅读(410)  评论(0编辑  收藏  举报
返回顶部 有事您Q我