搜狐号文章图片解密还原 含调用例子

搞站的都应该采集过搜狐号文章,不过最近搜狐号文章图片加密了。当发送HTTP请求后或你使用采集软件时,想要直接截取搜狐号文章正文时,哐当发现搜狐号文章img图片路径加密了???

仔细看下搜狐号文章正文img标签路径都被加密,但是通过浏览器访问是正常的,盲猜js在作怪。

直接从裤裆掏出F12,断点调式。一眼看出是AES加密,知道加密方法了。直接调用CryptoJS库解密就可以了!

CryptoJS加密模块AES ECB pkcs7 key是www.sohu.com6666 

js调用例子:需要引用CryptoJS加密库

var key = CryptoJS.enc.Utf8.parse("www.sohu.com6666");
function AES_Encrypt(word) {
    var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.AES.encrypt(srcs, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}

function AES_Decrypt(word) {
    var srcs = word;
    var decrypt = CryptoJS.AES.decrypt(srcs, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return decrypt.toString(CryptoJS.enc.Utf8);
}

PHP调用例子:

$str='8MY9RGaCWaBsd6kkgG/pST3npzZkiPX4IvYa+fMD5xBnXzWJM1dhGDZrzNHYnjVAr9n23rf3YhtLGja+NUz0NsY2Ys5srh6/tMRWSaPtnSE=';
$encrypted = base64_decode($str);
$reslut= openssl_decrypt($encrypted, 'AES-128-ECB', 'www.sohu.com6666', OPENSSL_RAW_DATA);
echo $reslut;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
DES算法是一种对称加密算法,可以用于图片的加密和解密。以下是Java实现DES算法图片加密和解密的示例代码: ```java import java.io.*; import java.security.*; import javax.crypto.*; import javax.crypto.spec.*; public class ImageEncryption { // 加密密钥 private static final byte[] keyBytes = { 0x11, 0x22, 0x4F, 0x58, (byte)0x88, 0x10, 0x40, 0x38 }; // 加密图片 public static void encryptImage(String inputFile, String outputFile) throws Exception { // 读入图片文件 File file = new File(inputFile); FileInputStream fis = new FileInputStream(file); byte[] inputBytes = new byte[(int)file.length()]; fis.read(inputBytes); fis.close(); // 生成DES密钥 SecretKeySpec key = new SecretKeySpec(keyBytes, "DES"); // 初始化加密器 Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, key); // 加密图片 byte[] outputBytes = cipher.doFinal(inputBytes); // 写出加密后的图片文件 FileOutputStream fos = new FileOutputStream(outputFile); fos.write(outputBytes); fos.close(); } // 解密图片 public static void decryptImage(String inputFile, String outputFile) throws Exception { // 读入加密后的图片文件 File file = new File(inputFile); FileInputStream fis = new FileInputStream(file); byte[] inputBytes = new byte[(int)file.length()]; fis.read(inputBytes); fis.close(); // 生成DES密钥 SecretKeySpec key = new SecretKeySpec(keyBytes, "DES"); // 初始化解密器 Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, key); // 解密图片 byte[] outputBytes = cipher.doFinal(inputBytes); // 写出解密后的图片文件 FileOutputStream fos = new FileOutputStream(outputFile); fos.write(outputBytes); fos.close(); } public static void main(String[] args) throws Exception { // 加密图片 encryptImage("input.jpg", "output.enc"); // 解密图片 decryptImage("output.enc", "output.jpg"); } } ``` 需要注意的是,上述代码中的加密密钥是固定的,实际应用中应该使用随机生成的密钥。此外,加密后的图片文件可能比原始图片文件稍微大一些,因为加密后的数据需要填充至8字节的整数倍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋网络

觉得好用,可以自愿打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值