php 字符串加密与解密

/** * @param $data 需要加密的字符串 * @param $key  加密的密码 * @return string  加密后的字符串 */function _encrypt($data, $key){    $key    =   md5($key);    $x      =   0;    $len    =   strlen($data);    $l      =   strlen($key);    $char=‘‘;    $str=‘‘;    for ($i = 0; $i < $len; $i++)    {        if ($x == $l)        {            $x = 0;        }        $char .= $key{$x};        $x++;    }    for ($i = 0; $i < $len; $i++)    {        $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);    }    return base64_encode($str);}

/** * @param $data  加密的字符串 * @param $key   解密密码 * @return string 解密后的字符串 */function _decrypt($data, $key){    $key = md5($key);    $x = 0;    $data = base64_decode($data);    $len = strlen($data);    $l = strlen($key);    $char=‘‘;    $str=‘‘;    for ($i = 0; $i < $len; $i++)    {        if ($x == $l)        {            $x = 0;        }        $char .= substr($key, $x, 1);        $x++;    }    for ($i = 0; $i < $len; $i++)    {        if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))        {            $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));        }        else        {            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));        }    }    return $str;}
时间: 2024-10-09 09:26:41

php 字符串加密与解密的相关文章

字符串加密和解密的常类

字符串加密和解密常用类:转载至: http://www.cnblogs.com/malaohu/p/3214136.html   public sealed class EncryptUtils { #region Base64加密解密 /// <summary> /// Base64加密 /// </summary> /// <param name="input">需要加密的字符串</param> /// <returns>

java字符串加密与解密

原文:java字符串加密与解密 源代码下载地址:http://www.zuidaima.com/share/1557602896464896.htm 这段时间正好系统中有需要对密码进行加密,还要能进行解密,支持自定义密钥.现分享给大家,希望能帮助到牛牛们. 有些人可能会遇到com.sun.crypto.provider.SunJCE报错,是由于编译器(jdk1.7以下)对必须得库有一定的限制,因此无法构造改函数,解决方法是设置一下编译器的报错级别,具体的解决方法可以参照这篇文章: http://

asp.net字符串加密与解密

1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Web; 5 using System.Web.Security; 6 using System.Web.UI; 7 using System.Web.UI.WebControls; 8 using System.Web.UI.WebControls.WebParts; 9 using System.Web.UI.HtmlContro

C#/JS AES字符串加密和解密

往往我们有一种需求:在页面端实现对即将传入到后台端的某些字符串进行加密,然后在后台端对传入进来的字符串做解密.在一些有安全要求的数据传输上会用到此种方式 下面分别列出js端和后台端的加密或解密代码. js端加密解密 aes.js: /* CryptoJS v3.1.2 code.google.com/p/crypto-js (c) 2009-2013 by Jeff Mott. All rights reserved. code.google.com/p/crypto-js/wiki/Licen

字符串的加密与解密(一)

    前段时间自己琢磨着写个给字符串加密和解密的小程序,在网上找了一些代码,稍做整理,记录如下:     一.不可逆加密     1.MD5     (之前一直以为经过MD5加密是不可逆的,今天在网上竟然找到个网址可以解密,试了一下,真的可以哦!) /// <summary> /// 使用MD5加密字符串 /// </summary> /// <param name="source">待加密的字符串</param> /// <re

字符串加密解密

字符串加密(指定加密密钥) 如字符串"Good good study,day day up! You can you up,no can no bibi!",加密密钥为"marchfour",对字符串进行加密 原理很简单,就是字符之间的异或 错误的代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 void encrypt_decode(char

字符串的加密与解密(二)

二.可逆加密 以下的几种加密和解密均要添加对System.Security.Cryptography命名空间的引用: using System.Security.Cryptography; 1.DES public class DESDemo { /// <summary> /// 向量 /// 向量的长度为8位,也就是DES算法的块大小,经本人亲测,若小于8位程序会抛出异常, /// 若大于8位,则8位以后的不起作用. /// 字节数组里的值可以根据个人需要进行更改 /// 这个参数也可使用

C#一个字符串的加密与解密

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO;   namespace ConsoleApplication1 {     class Program     {         static string encryptKey = "Oyea";    //

ASP.NET数据库连接字符串的加密与解密

ASP.NET web.config中,数据库连接字符串的加密与解密. 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径" 解密: C:\WINDOWS\Microsoft.NET\Fram