SQL Server中是否有内置的sha256功能?我也找不到sha256 T-SQL函数源代码.有替代品的人吗?
我正在尝试通过服务器到服务器方法与我的应用程序启用的BigQuery API进行通信.
我已经在这个Google指南上勾选了我在J #中构建我的JWT的所有方框.
我对Base64Url编码了所有必要的东西.
但是,我从谷歌获得的唯一回应是400 Bad Request
"error" : "invalid_request"
Run Code Online (Sandbox Code Playgroud)
我从以下其他SO问题中确认了以下所有问题:
当我使用Fiddler时,我得到了相同的结果.错误消息令人沮丧地缺乏细节!我还能尝试什么?!这是我的代码:
class Program
{
static void Main(string[] args)
{
// certificate
var certificate = new X509Certificate2(@"<Path to my certificate>.p12", "notasecret");
// header
var header = new { typ = "JWT", alg = "RS256" };
// claimset
var times = GetExpiryAndIssueDate();
var claimset = new
{
iss = "<email address of the client id of my app>",
scope = "https://www.googleapis.com/auth/bigquery",
aud = "https://accounts.google.com/o/oauth2/token", …Run Code Online (Sandbox Code Playgroud) 我正在尝试应用HMAC-SHA256来生成Rest API的密钥.
我正在做这样的事情:
def generateTransactionHash(stringToHash)
key = '123'
data = 'stringToHash'
digest = OpenSSL::Digest.new('sha256')
hmac = OpenSSL::HMAC.digest(digest, key, data)
puts hmac
end
Run Code Online (Sandbox Code Playgroud)
输出总是这样:(如果我把'12345'作为参数或'HUSYED815X',我也会得到相同的结果)
?w/{o???p?T????:??a?h??E|q
Run Code Online (Sandbox Code Playgroud)
由于这个原因,API无法正常工作......有人可以帮助我吗?
我试图根据sha256使哈希成为密码值.我已经搜索了这个,但没有关于swift 2的信息.这个解决方案对我没用
func sha256(data:String) -> String {
let data = self.dataUsingEncoding(NSUTF8StringEncoding)!
var digest = [UInt8](count:Int(CC_SHA256_DIGEST_LENGTH), repeatedValue: 0)
CC_SHA256(data.bytes, CC_LONG(data.length), &digest)
let hexBytes = digest.map { String(format: "%02hhx", $0) }
return hexBytes.joinWithSeparator("")
}
Run Code Online (Sandbox Code Playgroud)
它给出错误:使用未解析的标识符CC_SHA256_DIGEST_LENGTH
如何在iphone/objective c中创建一个字符串的SHA256 ...
我读过这个..但我无法理解这一点..
我想创建类似于php函数的输出,如下所示: -
$hash = hash_hmac("sha256", implode(';', $hash_parameters), $api_key);
Run Code Online (Sandbox Code Playgroud)
其中哈希参数是参数数组...
你能把它写成一个取输入字符串的方法......?
什么是NSData或NSString方法的输出.. ??
我必须用这个创建一个请求.. ??
所以在请求对象中..
[theRequest setHTTPBody:requestBody];
Run Code Online (Sandbox Code Playgroud)
什么应该是requestBody的类型?
我正在运行一个在应用程序的两侧使用SHA-256的服务 - 一个是服务器端PHP实现,另一个是客户端iOS实现.在两侧使用算法的结果是相同的字母数字字符串,除了所有字母在iOS上大写并且在PHP上小写的情况.它们是相同的字母数字字符串这一事实使我相信SHA-256不区分大小写,但我找不到支持我的假设的任何文档.有人可以给我一些文件来证实吗?
所以我需要在Objective-C中生成一个Sha256密码,并且无法弄清楚我的生活怎么做!有什么容易的东西,我只是缺少?
我已经尝试实现以下方法(这是为iPhone编写的,但我想也许它可以跨平台工作,就像一些Objective-C代码那样)
-(NSString*)sha256HashFor:(NSString*)input
{
const char* str = [input UTF8String];
unsigned char result[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(str, strlen(str), result);
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH*2];
for(int i = 0; i<CC_SHA256_DIGEST_LENGTH; i++)
{
[ret appendFormat:@"%02x",result[i]];
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
但这只是吐出有关CC_SHA256_DIGEST_LENGTH是未声明标识符的错误.
我正在尝试签署我的clickonce应用程序.我有一个使用SHA256的EV代码签名证书.问题是,当我使用post build命令签署我的应用程序时,它似乎使用SHA1而不是SHA256.这是输出窗口的剪辑:
Running Code Analysis...
1> Code Analysis Complete -- 0 error(s), 0 warning(s)
1> The following certificate was selected:
1> Issued to: Certificate Subject Name Here
1>
1> Issued by: DigiCert EV Code Signing CA (SHA2)
1>
1> Expires: Thu Apr 14 06:00:00 2016
1>
1> SHA1 hash: HASH-HERE
1>
1>
1> Done Adding Additional Store
1> Successfully signed and timestamped: C:\Users\AnyBody\Documents\Visual Studio 2013\Projects\My Project\Project Folder\obj\x86\My Configuration\MyProgram.exe
1>
1>
1> Number of files successfully Signed: 1
1>
1> Number …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Elixir中编写Amazon Product Advertising API客户端.开发人员指南描述了签署API请求的过程,其中必须使用请求和"秘密访问密钥"创建HMAC-SHA26哈希.这是我写的用来处理签名请求的函数:
defp sign_request(url) do
url_parts = URI.parse(url)
request = "GET\n" <> url_parts.host <> "\n" <> url_parts.path <> "\n" <> url_parts.query
url <> "&Signature=" <> :crypto.hmac(:sha256, 'ThisIsMySecretAccessKey', request)
end
Run Code Online (Sandbox Code Playgroud)
传递给函数的url看起来像这样: http://webservice.amazon.com/onca/xml?AssociateTag=ThisIsMyAssociateTag&AWSAccessKeyId=ThisIsMyAWSAccessKeyId&Keywords=stuff&Operation=ItemSearch&SearchIndex=Apparel&Service=AWSECommerceService&Timestamp=2014-11-22T12%3A00%3A00Z&Validate=True&Version=2013-08-01
我遇到的问题是,虽然:crypto.hmac/3返回二进制文件,但该二进制文件不是字符串; 通过返回值String.valid?/1回报false.因此,我无法将返回值连接到url字符串的末尾以对请求进行签名.
我使用:crypto.hmac/3不正确吗?有什么我想念的吗?我还有另一种方法吗?
我正在使用jose-jwt库,并希望使用RS256算法在C#中创建加密的JWT进行加密.我没有密码学的经验,所以请原谅我的无知.我在文档中看到以下示例:
var payload = new Dictionary<string, object>()
{
{ "sub", "mr.x@contoso.com" },
{ "exp", 1300819380 }
};
var privateKey=new X509Certificate2("my-key.p12", "password", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet).PrivateKey as RSACryptoServiceProvider;
string token=Jose.JWT.Encode(payload, privateKey, JwsAlgorithm.RS256);
Run Code Online (Sandbox Code Playgroud)
它显示了p12文件的使用,但我如何使用下面表格的RSA密钥文件?我正在查看X509Certificate2的文档,但我看不到RSA私钥的选项.它似乎只接受PKCS7,我理解为公钥.
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp
wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5
1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh
3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2
pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX
GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il
AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF
L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k
X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl
U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0=
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
最后,文档中列出的两个选项有什么区别,我如何在两者之间做出选择?
- - - - - - - - - - - - - 选项1 - - - - - …
sha256 ×10
c# ×2
hmac ×2
jwt ×2
clickonce ×1
commoncrypto ×1
digest ×1
elixir ×1
encryption ×1
erlang-otp ×1
hash ×1
ios ×1
iphone ×1
macos ×1
oauth-2.0 ×1
objective-c ×1
passwords ×1
php ×1
rsa ×1
ruby ×1
sha ×1
sha1 ×1
signtool ×1
sql-server ×1
swift2 ×1