• Base64---加密


    原理:

    转码过程例子:
    3*8=4*6
    内存1个字符占8位
    转前: s 1 3
    先转成ascii:对应 115 49 51
    2进制: 01110011 00110001 00110011
    6个一组(4组) 011100110011000100110011
    然后才有后面的 011100 110011 000100 110011
    然后计算机是8位8位的存数 6不够,自动就补两个高位0了
    所有有了 高位补0
    科学计算器输入 00011100 00110011 00000100 00110011
    得到 28 51 4 51
    查对下照表 c z E z

      先以“迅雷下载”为例: 很多下载类网站都提供“迅雷下载”的链接,其地址通常是加密的迅雷专用下载地址。
    其实迅雷的“专用地址”也是用Base64"加密"的,其过程如下:
    一、在地址的前后分别添加AA和ZZ
    二、对新的字符串进行Base64编码
    另: Flashget的与迅雷类似,只不过在第一步时加的“料”不同罢了,Flashget在地址前后加的“料”是[FLASHGET]
    而QQ旋风的干脆不加料,直接就对地址进行Base64编码了
     OC 的代码:
    // 1. Base 编码格式 一般应用于少量数据的编码
    
    // 编码
    
    - (NSString *)stringWithBase64 {
        // 字符串 转 data
        NSData *stringData = [self dataUsingEncoding:NSUTF8StringEncoding];
        // data 进行 base编码, 生成字符串
        NSString *baseString = [stringData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
        return baseString;
    }
    
    // 解码
    
    - (NSString *)base64WithString {
        // 根据Base64字符串, 生成data
        NSData *base64Data = [self base64StringWithData];
        // 将 data 转为 字符串
        NSString *orginString = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
        return orginString;
    }
     //
    - (NSData *)base64StringWithData {
        return [[NSData alloc] initWithBase64EncodedString:self options:NSDataBase64DecodingIgnoreUnknownCharacters];
    }
    
  • 相关阅读:
    win7下安装memcached
    Integer自动装拆箱
    XShell配色方案
    XShell上传和下载
    基于注解的Spring AOP拦截含有泛型的DAO
    PAT Advance 1020
    PAT Advance 1014
    JavaWeb中文乱码问题解决思路
    eclipse启动错误
    操作系统(一)
  • 原文地址:https://www.cnblogs.com/mafeng/p/5777819.html
Copyright © 2020-2023  润新知