API 服务 - 密文模式

API 服务 - 密文模式

此页面是 密文模式 对应的 API 说明,你可以查看 索引 来寻找需要的 API。

Crypto Mode For English Version Is Here
Index For English Version Is Here

密文

  • 密文类 API 请求的前缀为 http://api.forec.cn/crypto,你可以使用 GET 或 POST 方式传递数据。
  • 此模式目前可以提供如下类型密文格式:
    • md5
    • sha1
    • sha224
    • sha256
    • sha384
    • sha512
    • sha512_224
    • sha512_256
  • 服务器将对针对你的请求返回 JSON 格式的数据,包含两个字段:Code 说明了你的请求是否合法以及返回值是否正确,Result 字段为服务器针对你的数据返回的加密/解密结果。其中 Code 可为如下四种指令字:
    • 200:成功解密,返回值正确
    • 300:成功加密,返回值正确
    • 400:你的请求所包含的数据不合法
    • 500:服务器内部错误
  • 密文类请求均需要指定两个字段:
    • method=密文格式:指定 method 来告知服务器你要使用的密文格式
    • plain=待加密文本:此字段放置你要加密的字节串
    • cipher=待解密字节串:此字段放置你要解密的字节串
    • plaincipher 字段不应同时被指定,否则服务器会默认忽视 cipher 字段
  • 注意,因为服务器会自动使用 UTF-8 格式为 JSON 数据编码,故接收到的结果如果包含 ASCII 以外字符需要使用 UTF-8 格式解码。

MD5 格式

  • 你需要指定 method 类型为 md5MD5。因为 MD5 无法逆向求解,因此此格式不支持 cipher 字段,如果你指定了该字段,服务器会自动忽略。
  • MD5 格式有两个可选字段:
    • bits=结果长度:指定返回结果的长度,默认为 32 字节。你可以将其指定为 16。如果你将此字段设定为 16 和 32 以外的数值或非法格式,服务器将默认长度为 32。
    • format=大小写:此字段可以为 UL。默认返回结果中的字母为大写,你可以将此字段设为 L 来获得小写格式。如果你将此字段设为 LU 以外的任何值,服务器将默认使用大写格式。
  • 样例:
1
2
3
4
5
6
> curl http://api.forec.cn/crypto?method=md5&plain=test
{"code":300,"result":"098F6BCD4621D373CADE4E832627B4F6"}
> curl http://api.forec.cn/crypto?method=md5&plain=test&format=L
{"code":300,"result":"098f6bcd4621d373cade4e832627b4f6"}
> curl http://api.forec.cn/crypto?method=md5&plain=test&bits=16&format=L
{"code":300,"result":"4621d373cade4e83"}

SHA 系列格式

  • 你需要指定 method 类型为 sha*SHA*,这里的 * 是 SHA 格式的版本。因为 SHA 无法逆向求解,因此此格式不支持 cipher 字段,如果你指定了该字段,服务器会自动忽略。
  • 可使用的格式有:
    • method=sha1
    • method=sha224
    • method=sha256
    • method=sha384
    • method=sha512
    • method=sha512_224
    • method=sha512_256
  • SHA 类型有一个可选字段:format=大小写,此字段可以为 UL。默认返回结果中的字母为大写,你可以将此字段设为 L 来获得小写格式。如果你将此字段设为 LU 以外的任何值,服务器将默认使用大写格式。
  • 样例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> curl http://api.forec.cn/crypto?method=sha1&plain=testthismessage&format=L
{"code":300,"result":"fa715c9065385cc3acdeb93a7b66583fdf06a5b6"}
> curl http://api.forec.cn/crypto?method=sha224&plain=testthismessage&format=L
{"code":300,"result":"a08d72e16ab5b7f92eb09c35fa351778ca2dbfe5faa9b5088d8ef421"}
> curl http://api.forec.cn/crypto?method=sha256&plain=testthismessage&format=L
{"code":300,"result":"dca92fb06a35f32078ff400c7bb33f8994ba4b2792d12eb2de4507096ae80b08"}
> curl http://api.forec.cn/crypto?method=sha384&plain=testthismessage&format=L
{"code":300,"result":"00924267b607f6fac3de0174a32af14bb420f85b65c8fb4c1
3801f337bab6682d5dbbd1d5bde1d6842bcdff01ec15117"}

> curl http://api.forec.cn/crypto?method=sha512&plain=testthismessage&format=L
{"code":300,"result":"90d8971c2b70b32dd24e04f3e114f5268bc10f9621df4960c
ccc0e3bdc5d74c1e631a1110fabe24cb65d249e17b9119b319e2e2600a6a39987e576c5d86e8dde"}

> curl http://api.forec.cn/crypto?method=sha512_224&plain=testthismessage&format=L
{"code":300,"result":"b2d961fa6d7f718ee8336ccbd3d60c030128dc2bf9edb8da92afdbb1"}
> curl http://api.forec.cn/crypto?method=sha512_256&plain=testthismessage&format=L
{"code":300,"result":"993e73b7f67bb26cd796833ce5fa21c35b1e55e4b763d6e7982f33cf0fcac593"}
分享到