哈希SHA- 256,用于使用密码进行身份验证

2020-08-27 10:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我有一个要求,我需要获取时间戳,并使用SHA-256哈希用户名$ SearTb,然后将哈希用户名与时间戳记用":"分隔,并将所有结果哈希到SHA-256,那么我们需要 在标头中将此作为基本身份验证以及在此作为<被主持人删除的敏感信息>"的密码传递。

我一直在尝试使用下面的代码,但是不了解如何传递密码,请在此帮助我。

导入com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
def消息processData(消息消息){ def用户名=" \ $ SearTb"
def timestampNow = new Date()。getTime()
//转换为SHA256 摘要= MessageDigest.getInstance(" SHA-256")
byte [] encodinghash =摘要.digest(username.getBytes(StandardCharsets.UTF_8))
StringBuffer hexString = new StringBuffer();
for(int i = 0; i 十六进制字符串= Integer.toHexString(0xff&encodehash [i]);
if(hex.length()== 1)hexString.append('0');
hexString.append(hex);
}
def usernameSHA256 = hexString.toString()
def authToken =" $ {usernameSHA256}:$ {timestampNow}"
//将身份验证令牌转换为 SHA256
encodedhash =摘要.digest(authToken.getBytes(StandardCharsets.UTF_8))
hexString = new StringBuffer();
for(int i = 0; i 字符串十六进制= Integer.toHexString(0xff&encodehash [i]);
if(hex.length()== 1)hexString.append('0');
hexString.append(hex);
}
def authTokenFinal = hexString.toString()
message.setHeader(" Authorization"," $ {authTokenFinal}")
返回消息;
}

致谢,
桑迪亚

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我有一个要求,我需要获取时间戳,并使用SHA-256哈希用户名$ SearTb,然后将哈希用户名与时间戳记用":"分隔,并将所有结果哈希到SHA-256,那么我们需要 在标头中将此作为基本身份验证以及在此作为<被主持人删除的敏感信息>"的密码传递。

我一直在尝试使用下面的代码,但是不了解如何传递密码,请在此帮助我。

导入com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
def消息processData(消息消息){ def用户名=" \ $ SearTb"
def timestampNow = new Date()。getTime()
//转换为SHA256 摘要= MessageDigest.getInstance(" SHA-256")
byte [] encodinghash =摘要.digest(username.getBytes(StandardCharsets.UTF_8))
StringBuffer hexString = new StringBuffer();
for(int i = 0; i 十六进制字符串= Integer.toHexString(0xff&encodehash [i]);
if(hex.length()== 1)hexString.append('0');
hexString.append(hex);
}
def usernameSHA256 = hexString.toString()
def authToken =" $ {usernameSHA256}:$ {timestampNow}"
//将身份验证令牌转换为 SHA256
encodedhash =摘要.digest(authToken.getBytes(StandardCharsets.UTF_8))
hexString = new StringBuffer();
for(int i = 0; i 字符串十六进制= Integer.toHexString(0xff&encodehash [i]);
if(hex.length()== 1)hexString.append('0');
hexString.append(hex);
}
def authTokenFinal = hexString.toString()
message.setHeader(" Authorization"," $ {authTokenFinal}")
返回消息;
}

致谢,
桑迪亚

付费偷看设置
发送
2条回答
DafaDDDa
1楼-- · 2020-08-27 11:25

嗨,专家

请帮助我。
关于,
桑迪亚

nice_wp
2楼-- · 2020-08-27 11:32

请不要输入密码。

SAP社区主持人

一周热门 更多>