豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 110 行 · 6600 字节 · UTF-8
§
「:
文言:消息认证者,以密钥之散列认证也。取散列摘要为基,以内外垫异或之密钥成 HMAC。
汉语:HMAC-SHA256 消息认证码。以散列摘要(SHA-256)为基,块长六四字。密钥若超块长则以摘要代,不足则以零补;内垫 0x36、外垫 0x5c 异或密钥,内哈希再入外哈希。字节皆以字节串载之(零字节可存)。纯豫言。
:」

寻观「标准库」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「终端浏览器」之「散列摘要」之书。

「:文言:零字。汉语:成 n 个零字节之字节串。:」
「零字」乃化「整数」而「字节串」也。
「零字」者会「n」而
    若「等零」于「n」则「空字节串」于「元」
    否则「拼接字节串」于(「零字」于(「减」于「n」于「一」))于(「单字节串」于「零」)
也。

「:文言:重复字节。汉语:成 n 个某字节之字节串。:」
「重复字节」乃化「整数」而化「整数」而「字节串」也。
「重复字节」者会「b」而会「n」而
    若「等零」于「n」则「空字节串」于「元」
    否则「拼接字节串」于(「重复字节」于「b」于(「减」于「n」于「一」))于(「单字节串」于「b」)
也。

「:文言:补零到。汉语:以零字节补足字节串至目标长度。:」
「补零到」乃化「字节串」而化「整数」而「字节串」也。
「补零到」者会「串」而会「目标」而
    虑「n」者(「字节串长度」于「串」)
    而(若「大于」于「n」于「目标」则「串」否则「拼接字节串」于「串」于(「零字」于(「减」于「目标」于「n」)))
也。

「:文言:单字节异或。汉语:两单字节(零至二五五)异或。:」
「单字节异或」乃化「整数」而化「整数」而「整数」也。
「单字节异或」者会「甲」而会「乙」而
    「字转整」于(「位异或」于(「整转字」于「甲」)于(「整转字」于「乙」))
也。

「:文言:异或字节串累。汉语:逐字节异或,自 i 起至 n。:」
「异或字节串累」乃化「字节串」而化「字节串」而化「整数」而化「整数」而化「字节串」而「字节串」也。
「异或字节串累」者会「甲」而会「乙」而会「i」而会「n」而会「积」而
    若「等」于「i」于「n」则「积」
    否则
        虑「xv」者(「单字节异或」于(「字节串取字节」于「甲」于「i」)于(「字节串取字节」于「乙」于「i」))
        而「异或字节串累」于「甲」于「乙」于(「加」于「i」于「一」)于「n」于(「拼接字节串」于「积」于(「单字节串」于「xv」))
也。

「:文言:异或字节串。汉语:两等长字节串逐字节异或。:」
「异或字节串」乃化「字节串」而化「字节串」而「字节串」也。
「异或字节串」者会「甲」而会「乙」而「异或字节串累」于「甲」于「乙」于「零」于(「字节串长度」于「甲」)于(「空字节串」于「元」)也。

「:文言:取十六值。汉语:十六符(零至九 a 至 f)转零至十五。:」
「取十六值」乃化「字符串」而「整数」也。
「取十六值」者会「c」而
    鉴「c」而
        有『0』则「零」
        或有『1』则「一」
        或有『2』则「二」
        或有『3』则「三」
        或有『4』则「四」
        或有『5』则「五」
        或有『6』则「六」
        或有『7』则「七」
        或有『8』则「八」
        或有『9』则「九」
        或有『a』则「一零」
        或有『b』则「一一」
        或有『c』则「一二」
        或有『d』则「一三」
        或有『e』则「一四」
        或有『f』则「一五」
        或有「其他」则「零」
也。

「:文言:十六转字累。汉语:十六串逐双符转字节,自 pos 至末尾。:」
「十六转字累」乃化「字符串」而化「整数」而化「字节串」而「字节串」也。
「十六转字累」者会「hex」而会「pos」而会「积」而
    若「大于」于「pos」于(「减」于(「字节长度」于「hex」)于「二」)则「积」
    否则
        虑「hi」者(「取十六值」于(「获取子字符串」于「pos」于(「加」于「pos」于「一」)于「hex」))
        而
        虑「lo」者(「取十六值」于(「获取子字符串」于(「加」于「pos」于「一」)于(「加」于「pos」于「二」)于「hex」))
        而
        虑「b」者(「加」于(「乘」于「hi」于「一六」)于「lo」)
        而「十六转字累」于「hex」于(「加」于「pos」于「二」)于(「拼接字节串」于「积」于(「单字节串」于「b」))
也。

「:文言:十六转字。汉语:小写十六进位串转字节串。:」
「十六转字」乃化「字符串」而「字节串」也。
「十六转字」者会「hex」而「十六转字累」于「hex」于「零」于(「空字节串」于「元」)也。

「:文言:消息认证。汉语:以密钥与数据成 HMAC-SHA256,小写十六进位。:」
「消息认证」乃化「字节串」而化「字节串」而「字符串」也。
「消息认证」者会「key」而会「msg」而
    虑「L」者(「字节串长度」于「key」)
    而
    虑「K」者(若「大于」于「L」于「六四」
        则「补零到」于(「十六转字」于(「散列摘要」于「key」))于「六四」
        否则「补零到」于「key」于「六四」)
    而
    虑「ipadK」者(「异或字节串」于「K」于(「重复字节」于「五四」于「六四」))
    而
    虑「opadK」者(「异或字节串」于「K」于(「重复字节」于「九二」于「六四」))
    而
    虑「innerHex」者(「散列摘要」于(「拼接字节串」于「ipadK」于「msg」))
    而
    虑「inner」者(「十六转字」于「innerHex」)
    而
    「散列摘要」于(「拼接字节串」于「opadK」于「inner」)
也。