草庐IT

swift - Swift 中用于 OAuth 签名的 HMAC-SHA1

我正在尝试在我的应用程序中为Swift2创建OAuth模块。我坚持使用HMAC-SHA1签名生成,因为我的函数返回不正确的base64hmac-sha1签名。你能帮我吗?怎么了?funcURLEncodedKey()->String?{letkey="efgh"letstring="GET&http%3A%2F%2Fhost.net%2Fresource&name%3Dvalue%26name%3Dvalue%26oauth_consumer_key%3Dabcd%26oauth_nonce%3DxUwWEy3LVsI%26oauth_signature_method%3DHMAC-S

swift - 如何快速执行 HMAC-SHA1

我基本上是在尝试获取一个字符串并在php中执行如下操作:$signature=base64_encode(hash_hmac('sha1',$data,$secretKey,true));但是,在Swift中执行...我看到很多关于其他人尝试使用CommonCrypto做事的帖子,但该模块似乎没有安装。所以真的有3个问题:CommonCrypto是执行此操作的正确方法吗?如果是,我该如何添加框架?如果CommonCrypto不是执行此操作的最佳方式,那什么才是?我当前的代码如下所示:varauthString:String="PUT\nTEST=BLAH\nTEST2=BLAHBLAH

swift - 如何在 Swift 中将字符串散列为 SHA512?

我正在构建一个社交媒体应用程序,我需要一些帮助,以便在Swift中将密码字符串编码为SHA512。我在GitHub上找到了CryptoSwift库,但我很难将其加载到我的Swift项目中并将其链接到我的项目文件。有谁知道如何相对容易地完成这项工作?提前致谢,凯尔 最佳答案 Swift3的解决方案:extensionString{funcsha512()->String{letdata=self.data(using:.utf8)!vardigest=[UInt8](repeating:0,count:Int(CC_SHA512_DI

java - 如何验证 POST 数据是从具有正确 SHA1 签名的 Android 应用程序发送的?

最近我的游戏被黑了,一个用户向服务器提交了一个不可能的分数。提交的分数带有经过验证的校验和和正确的数据。我确信用户必须对我的APK文件进行逆向工程才能找到POST请求。现在我想知道什么是防止这种情况再次发生的好方法,我考虑验证应用程序的SHA1签名。也许这样我可以确保该应用程序是由我签名的,而不是该应用程序的逆向工程和更改版本。这可能吗?或者会有更好的解决方案来解决这个问题吗?顺便说一句,我正在使用LibGDX。 最佳答案 首先,您确实必须混淆您的代码。您可以找到有关ProGuard和代码混淆的更多信息here.其次,您可以使用Go

java - 用于在 Android 上生成 HMAC-SHA1 OAuth 签名的库?

使用specifications下面我需要在Android上创建一个oauth_signature。我正在寻找一个库来处理样板代码,以创建用于通过OAuth访问资源的签名。Constructasignature"basestring",whichconsistsofaconcatenationofthreerequestelements:TheHTTPrequestmethod.ThebaseURLtherequestisbeingsentto.ThisURLshouldnotincludeanyqueryparameters.WhensigningcallstoGoogleservi

java - 如何使用 bouncy caSTLe 在 Java 中创建 SHA512 摘要字符串?

这个单元测试失败了:publicvoidtestDigest()throwsNoSuchAlgorithmException{StringhashExpected="150a14ed5bea6cc731cf86c41566ac427a8db48ef1b9fd626664b3bfbb99071fa4c922f33dde38719b8c8354e2b7ab9d77e0e67fc12843920a712e73d558e197";MessageDigestmd=newMessageDigest();StringhashActual=newString(md.digest("hi"));Asse

scala - 如何在 Scala 和 Play Framework 中对 SHA-1 哈希进行 base64 编码?

我想使用PlayFramework在Scala中对生成的SHA-1哈希进行base64编码。这在Scala中对我有用:valmd=java.security.MessageDigest.getInstance("SHA-1");println(newsun.misc.BASE64Encoder().encode(md.digest("Foo".getBytes)))但在PlayFramework中,我使用以下命令时出错:typeencodeisnotamemberofobjectsun.misc.BASE64Encoder使用时:valmd=java.security.MessageD

java - Google 如何验证 API 调用中的 SHA1 和程序包名称?

在API控制台中注册Android应用程序以访问GoogleAPI时,您必须输入应用程序的SHA1证书指纹和应用程序包名称。现在我想知道当api调用只是简单的HTTP请求时Google如何验证这些值是否正确(在最简单的情况下,当您不使用他们的API客户端时,可以附加一些header值)?您必须在进行API调用时提供您的APIkey,但这并不能证明输入的值是正确的。 最佳答案 您可以很容易地获取包名以及已安装应用程序的sha1指纹。privatevoidprintSha1(){ListmAppList=getPackageManage

java - 在 java 中使用 key 计算 HMAC-SHA512

我想准确地构建一个函数,它生成一个带有secretkey的HMAC,就像这个网站提供的那样:http://www.freeformatter.com/hmac-generator.htmlJava8库仅提供MessageDigest和KeyGenerator,它们都只支持最高SH256。此外,Google没有给我任何生成HMAC的实现结果。有人知道实现吗?我有这段代码可以生成普通的SH256,但我想这对我帮助不大:publicstaticStringget_SHA_512_SecurePassword(StringpasswordToHash)throwsException{Strin

java - WAS 6.1 IBMJCE 提供程序生成错误的 sha256withrsa 签名

我们正在使用Java安全API生成数字签名(PKCS7)。摘要算法为SHA-256,加密算法为RSA(SHA256withRSA)。在本地机器上使用SunRsaSign提供程序,在某些内容上生成了签名。在WAS8.0.0.2中使用IBMJCE提供程序,我们能够在相同的内容上生成相同的签名。但是,问题是,我们不得不迁移回WAS6.1。现在,生成的签名与上述两种情况下生成的签名不同。我检查了在所有3个案例中创建的消息摘要,在所有3个案例中都相同,但签名在WAS6.1的情况下不同。WAS6.1的IBMJCE提供程序在SHA256withRSA加密方面是否存在任何已知问题?任何指针将不胜感激。