• iOS Base64加密


    1、Base64编码说明

      Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

      为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

    2、Base64编码表

    码值字符   码值字符   码值字符   码值字符
    0 A 16 Q 32 g 48 w
    1 B 17 R 33 h 49 x
    2 C 18 S 34 i 50 y
    3 D 19 T 35 j 51 z
    4 E 20 U 36 k 52 0
    5 F 21 V 37 l 53 1
    6 G 22 W 38 m 54 2
    7 H 23 X 39 n 55 3
    8 I 24 Y 40 o 56 4
    9 J 25 Z 41 p 57 5
    10 K 26 a 42 q 58 6
    11 L 27 b 43 r 59 7
    12 M 28 c 44 s 60 8
    13 N 29 d 45 t 61 9
    14 O 30 e 46 u 62 +
    15 P 31 f 47 v 63 /

    3、Base64编码使用

    (1)  使用不够三个字节的编码

    例如:加密bs (ASCII码 b 十六进制62   s 十六进制为73)

    换算二进制 : 0110 0010   0111 0011

    不够三个字节的用0补全 0110 0010 0111 0011 0000 0000

    转化成6个自己模式 011000 100111 001100 000000

    查找base64编码表分别对应 YnM=

    (2)  使用大于或等于三个字节的编码

    例如:加密asd (ASCII码 a 十六进制61   s 十六进制为73   d十六进制为64)

    换算二进制 : 0110 0001 0111 0011 0110 0100

    转化成6个自己模式 011000 010111 001101 100100

    查找base64编码表分别对应 YXNk

  • 相关阅读:
    c# 调用C++动态库 问题
    Web应用简易框架。
    【转】SVN历史版本删除(为SVN库瘦身)
    程序员7武器序
    小系统单据自动生成存储过程
    【转】数据库和数据仓库的区别
    jQuery之extend 函数
    .NET单元测试断言(Assert)
    c#类型转换操作符:as和is
    oracle 表数据合并
  • 原文地址:https://www.cnblogs.com/yang-shuai/p/7472775.html
Copyright © 2020-2023  润新知