cloudflare email 邮箱混淆/加密/解密 PHP 源码版

在某个网站上看到一串 email 的混淆字符串,通常,这些地址会被标记为'[email protected]'或类似的占位符。搜了一下,竟然是 cloudflare 家的。

混淆

php 复制代码
private function encodeEmail($email, $key=0)
{
    $chars = str_split($email);
    $string = '';
    $key = $key ? $key : rand(10, 99);
    foreach ($chars as $value) {
        $string .= sprintf("%02s", dechex(ord($value)^$key));
    }
    return dechex($key).$string;
}

还原

php 复制代码
private function decodeEmail($encode)
{
    $k = hexdec(substr($encode,0,2));
    for($i=2, $m=''; $i < strlen($encode) - 1; $i += 2){
        $m.=chr(hexdec(substr($encode, $i, 2))^$k);
    }
    return $m;
}
相关推荐
码农老李19 分钟前
openEuler2403服务器版 原生官方镜像和飞腾定制镜像
开发语言·php
charlie11451419142 分钟前
现代Qt开发教程(新手篇)2.3——QImage、QPixmap、QIcon 图像处理基础
开发语言·图像处理·qt
范范@43 分钟前
python基础-函数
开发语言·python
特种加菲猫1 小时前
从零开始手撕AVL树:详解插入、平衡因子更新与四种旋转
开发语言·c++
roman_日积跬步-终至千里2 小时前
如何分析复杂架构:一套真正能落地的方法
java·开发语言·架构
geovindu2 小时前
go: Semaphore Pattern
开发语言·后端·设计模式·golang·企业级信号量模式
Don.TIk2 小时前
ChaperTwo-整合 SaToken 实现 JWT 登录功能
java·开发语言
yaoxin5211232 小时前
406. Java 文件操作基础 - 字符与二进制流
java·开发语言·python
江屿风2 小时前
C++OJ题经验总结(竞赛)1
开发语言·c++·笔记·算法