找回密码
 立即注册

QQ登录

只需一步,快速开始

luojdz

初级会员

15

主题

49

帖子

228

积分

初级会员

积分
228
luojdz
初级会员   /  发表于:2022-5-16 13:09  /   查看:4305  /  回复:17
1金币


第三方应用给与这些接口信息,用活字格要怎么对接?
希望各路大神,给一个demo 学习一下。
测试环境接口域名:https://liteweb-test.blacklake.cn

登录鉴权接口
请求地址:/api/user/v1/users/_login
通信协议:HTTPS
请求方式:POST
请求header参数:
  • X-CLIENT:lite-web(这个是固定的)
  • Content-Type:application/json
请求包体json参数:
参数名
类型
是否必填
描述
phone
string
      是
登录手机号
password
string
      是
登录密码的加密后密文

请求参数示例:
{
    "phone":"18356051575",
    "password":"4d9a9b213f1518cb46243b5676365b08312d57eeb124874b16767697"
}

其中password加密方式采用SHA3_224算法。
下面给出Java示例,其他语言也类似。
第一步:引入jar包
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.59</version>
</dependency>

第二步:加密过程
public static void main(String[] args) {
    String password = "Cc123456"; //明文密码
    System.out.println(sha3224(password.getBytes())); //打印加密后密码
}

JAVA:
public static String sha3224(byte[] bytes) {
    Digest digest = new SHA3Digest(224);
    digest.update(bytes, 0, bytes.length);
    byte[] rsData = new byte[digest.getDigestSize()];
    digest.doFinal(rsData, 0);
    return Hex.toHexString(rsData);

}

返回结构体:其中data里的数据就是token
JSON:
{
    "statusCode":200,
    "message":"成功",
    "data":"eyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjEzMzE0LCJvcmdJZCI6NTc0LCJzc29Ub2tlbiI6InYxdkxjV0tUdVhMVlpkencifQ.lH5cpUfbDW9lI-_J-rz0xPzPRbbK0JgT3Ukpbxd33Y_44abguPZiccCjlqy53pR4cKHP2sJxaxgR1iNWsEXpZA",
    "extraData":null
}


17 个回复

正序浏览
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-5-18 09:33:51
18#
回复 使用道具 举报
luojdz
初级会员   /  发表于:2022-5-18 09:21:54
17#
豪~豪 发表于 2022-5-16 13:09
利用之前我写的JS服务器加密,然后执行改写后的SHA3加密JS

要的就是这个!
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2022-5-17 21:47:58
15#
luojdz 发表于 2022-5-17 16:25
我意思 怎么用活字格 把密码加密成SHA3_224, 这才是核心

加密sha3_224 工具 for  win

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-5-17 17:27:20
14#
luojdz 发表于 2022-5-17 16:25
我意思 怎么用活字格 把密码加密成SHA3_224, 这才是核心

有两种方式您可以了解一下,咱们可以通过服务端编程,通过C#实现和Java类似的效果,最终调用WEB API将内容加密成SHA_221;或者我们可以参考一下服务端命令中加密解密的插件,手动实现一个SHA3_224加密的插件。第四十七章 服务端编程 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)
商品详情 (grapecity.com.cn)
回复 使用道具 举报
luojdz
初级会员   /  发表于:2022-5-17 16:25:20
13#
我意思 怎么用活字格 把密码加密成SHA3_224, 这才是核心
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-5-17 09:18:06
12#
VVANVI 发表于 2022-5-16 17:39
貌似是传错工程了, 已经重新上传, 但是第三方的服务停了 , 现在返回的结果是这样

{

能有结果就是调通了~
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2022-5-16 17:39:31
11#
Lay.Li 发表于 2022-5-16 17:08
大佬,您是不是上传错工程文件了,这边下载您的工程文件,服务端命令中没有响应的命令哈

貌似是传错工程了, 已经重新上传, 但是第三方的服务停了 , 现在返回的结果是这样

{
        "timestamp": 1652693862739,
        "status": 500,
        "error": "Internal Server Error",
        "message": "系统繁忙,请重试",
        "datetime": "2022-05-16T17:37:42.739",
        "description": "系统内部错误",
        "code": "NO_CODE_PROVIDED"
}
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-5-16 17:38:26
10#
感谢大佬的支持
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2022-5-16 17:30:40
9#
本帖最后由 VVANVI 于 2022-5-16 17:42 编辑

重新上传工程,    但是第三方 停止了服务


{
    "timestamp": 1652693862739,
    "status": 500,
    "error": "Internal Server Error",
    "message": "系统繁忙,请重试",
    "datetime": "2022-05-16T17:37:42.739",
    "description": "系统内部错误",
    "code": "NO_CODE_PROVIDED"
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-5-16 17:08:54
8#
VVANVI 发表于 2022-5-16 13:40
附上工程,  至于 sha3_224加密需要自己撸一点代码 把密码明文加密一下就行了


大佬,您是不是上传错工程文件了,这边下载您的工程文件,服务端命令中没有响应的命令哈

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部