zoukankan      html  css  js  c++  java
  • 网址加密(URL加密)(RC4、PHP、密钥长度可变)

    因为安全问题,我们需要网址加密。

    网址加密是一个很广泛的需求,但事实上很难搜索到一个能用在项目中的完整案例。

    百度,谷歌里面搜索:网址加密,可以找到有几种方法:

    1、大量无用的垃圾信息。

    2、大量垃圾的无用信息。

    3、用Base64方式“加密、解密”。

    4、自己开发的加密算法。

    事实上,Base64算不上真正的加密,它仅仅是一种编码转换。

    并且标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

    我从来不建议 自己写的加密算法。

    加密算法的安全性,绝不是靠算法的隐蔽来实现。现代密码学理论,“一切秘密寓于密钥之中”,安全来自于算法的安全和密钥安全。

    历史已经反复证明:自己写的加密算法,经不住数学家的分析。

    —————-

    既然找不到一个实例,于是我决定自己选一个加密算法。

    网址加密,有两个要求:在保证安全性的同时,时间代价要小、加密结果要足够短。

    想到两个符合上述的条件的算法:AES 、RC4。

    AES 是一种很优秀、流行的分组加密方法,但是他的加密结果比较长,哪怕你加密 一个字节的字符串,加密结果长度会超过30,并且随着加密数据的长度的增长,加密结果迅速增大,加密ID还行,对于加密比较长的字符串,确实有很多不便。

    RC4 虽然很优秀、快速,安全,但是没有什么名分。

    RC4 的加密后的结果长度相对要短的许多,在加密网址上,更胜一筹。

    综合之下,我还是选取了没有 AES 出名的 RC4 来加密。


    现在把这个 RC4的php实现方法发出来,方便大家吧。

    第一步:下载 class.rc4crypt.php

    第二步:

    <?php
    include(‘class.rc4crypt.php’);
    $rc4 = new Crypt_RC4();
    $rc4 -> setKey(‘abcdefgh123456′);

    $text = ‘julying’;
    echo $x = $rc4->encrypt($text);
    echo ‘<br />’;
    echo $rc4->decrypt( $x) ;
    ?>

    原文:http://julying.com/blog/url-encryption-url-encryption-rc4-php-variable-key-length/#more-65

    此条目是由 王子墨 发表在 前端随笔 分类目录的。将固定链接加入收藏夹。

  • 相关阅读:
    【深度学习Deep Learning】资料大全
    在谷歌中缓存下载视频离线观看,js代码
    asp.net mvc 中Html.ValidationSummary显示html
    asp.net网站访问时不能显示页面
    k8s install kubeadm网络原因访问不了谷哥and gpg: no valid OpenPGP data found. 解决办法
    火绒杀毒软件更安静
    Linux使用mount挂载Windows共享文件夹
    spark学习
    https://blog.csdn.net/tangdong3415/article/details/53432166
    正则表达式
  • 原文地址:https://www.cnblogs.com/cuiwenke/p/3126990.html
Copyright © 2011-2022 走看看