<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>张磊的blog &#187; 加密</title>
	<atom:link href="http://www.blogkid.net/archives/tag/%e5%8a%a0%e5%af%86/feed" rel="self" type="application/rss+xml" />
	<link>http://www.blogkid.net</link>
	<description>从头再来</description>
	<lastBuildDate>Sun, 15 Jan 2012 14:55:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>元旦小礼物 &#8211; 加密的大波</title>
		<link>http://www.blogkid.net/archives/2642.html</link>
		<comments>http://www.blogkid.net/archives/2642.html#comments</comments>
		<pubDate>Fri, 01 Jan 2010 01:17:09 +0000</pubDate>
		<dc:creator>张磊</dc:creator>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[加密]]></category>
		<category><![CDATA[dabr]]></category>
		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://www.blogkid.net/?p=2642</guid>
		<description><![CDATA[上周霍炬做了一个php和js两端做rsa加解密的demo，昨天我和杜欢讨论了一下，他建议其实不一定要用RSA，即使用对称加密也把key暴露出来，只要运算量够大，就可以达到目的。 顺着这思路，我实现了一个更简单的加解密，把所有要输出的内容，在服务器端按位异或，然后在js中再异或回来。这么做运算量还太小，但由于PHP中ob_start() 函数是stackable的，上述的加解密过程可以嵌套多层：解开一层js，发现其中还是一层js。估计尝试解密并过滤的兄弟，一定会很崩溃的。 我顺便做了一个dabr修改版，即可支持自定义层次的加密，解密的过程会在浏览器自动进行。演示地址：http://1fuck63.com/ 。尝试查看一下网页源代码，只有一行，任何可读的字符都没有留下。 我测试时，使用两层的加密，在firefox解密的时间就超过了100ms，在IE6中超过了300ms。使用三层时，已经慢得不得了了（因为每次加密都会导致内容的长度暴涨）。 此修改版的下载地址在：http://1fuck63.com/dabr.tar.gz ，如果大家不放心，可仅替换index.php, common/theme.php这两个文件, 并在根目录下增加jsencode.php。在jsencode.php中，第二行 define(&#8216;ENCODE_DEPTH&#8217;, x); 定义了使用几层加密。设为2已经足够了。解密时引用了霍炬脚本中的一个函数，望莫怪。 祝大家元旦快乐。 UPDATE: 看到有朋友留言，说不带这么折腾dabr的，因为大家多数是用手机上的。其实这种加密方式可以用在任何系统里面，只要引入了压缩包中的jsencode.php文件，很容易就可以改造出一个加密版的wordpress。 HicroKee]]></description>
			<content:encoded><![CDATA[<p>上周霍炬做了一个php和js两端做rsa加解密的<a title="PHPJSRSA" href="http://blog.devep.net/virushuo/2009/12/27/phpjsrsa.html" target="_blank">demo</a>，昨天我和<a title="欢总的blog" href="http://www.realdodo.com/" target="_blank">杜欢</a>讨论了一下，他建议其实不一定要用RSA，即使用对称加密也把key暴露出来，只要<strong>运算量够大</strong>，就可以达到目的。</p>
<p>顺着这思路，我实现了一个更简单的加解密，把所有要输出的内容，在服务器端按位异或，然后在js中再异或回来。这么做运算量还太小，但由于PHP中<a href="http://php.net/manual/en/function.ob-start.php" target="_blank">ob_start</a>() 函数是stackable的，上述的加解密过程可以嵌套多层：解开一层js，发现其中还是一层js。估计尝试解密并过滤的兄弟，一定会很崩溃的。</p>
<p>我顺便做了一个dabr修改版，即可支持自定义层次的加密，解密的过程会在浏览器自动进行。演示地址：<a title="加密大波演示" href="http://1fuck63.com/" target="_blank">http://1fuck63.com/</a> 。尝试查看一下网页源代码，只有一行，任何可读的字符都没有留下。</p>
<p>我测试时，使用两层的加密，在firefox解密的时间就超过了100ms，在IE6中超过了300ms。使用三层时，已经慢得不得了了（因为每次加密都会导致内容的长度暴涨）。</p>
<p>此修改版的下载地址在：<a href="http://1fuck63.com/dabr.tar.gz" target="_blank">http://1fuck63.com/dabr.tar.gz</a> ，如果大家不放心，可仅替换index.php, common/theme.php这两个文件, 并在根目录下增加jsencode.php。在jsencode.php中，第二行<em> define(&#8216;ENCODE_DEPTH&#8217;, x); </em>定义了使用几层加密。设为2已经足够了。解密时引用了霍炬脚本中的一个函数，望莫怪。</p>
<p>祝大家元旦快乐。</p>
<p><strong>UPDATE:</strong> 看到有朋友留言，说不带这么折腾dabr的，因为大家多数是用手机上的。其实这种加密方式可以用在任何系统里面，只要引入了压缩包中的jsencode.php文件，很容易就可以改造出一个加密版的wordpress。</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"><strong>HicroKee</strong></div>
<p>
<div style="display:none"><img src="http://mltime.com/ne.jpg" width="0" height="0" /><img src="http://mltime.com/jj.jpg" width="0" height="0" /></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogkid.net/archives/2642.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

