草庐IT

Cryptography

全部标签

ios - HMAC SHA256 JWT 签名不正确

答案:下面的hmacfunc是我现在使用的函数...funcbase64Encoded(algorithm:CryptoAlgorithm,key:String)->String{lethmac=self.hmac(algorithm:algorithm,key:key)letdigestLen=algorithm.digestLengthletdataResult=NSData(bytes:hmac,length:digestLen)hmac.deallocateCapacity(digestLen)returndataResult.base64EncodedString()}fun

objective-c - 在 Swift 中使用 CommonCrypto 进行解密

我正在为String和NSData使用Swift-onlycrypt/decryptExtension,以及crypt部分基于@Zaph在链接问题中提供的答案工作:IssueusingCCCrypt(CommonCrypt)inSwift使用Objective-C中的旧NSData+AESCrypt.m类别测试了crypt输出我一直在处理解密部分的问题:代码编译并运行良好,但结果不是最初加密的预期文本。extensionNSData{funcAES256EncryptDataWithKey(key:String)->NSData{letkeyData:NSData!=(keyasNSS

swift - 如何在 AES CryptoSwift 密码后将字节转换为 NSString

我正在使用CryptoSwift来加密我将在URL中传递的数据。为此,我需要将数据片段的数据类型设置为String以连接到NSURL请求中。数据加密后以字节为单位输出。如何将字节转换为无意义的字符串以传递PHP脚本可以解密的URL?我能够加密成UInt8,但是我认为不可能通过URL将它传递给PHP脚本,所以我需要将它变成一个字符串。代码:letstring="hello"letinput:[UInt8]=Array(string.utf8)letkey:[UInt8]=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

java - Java 中的 SecureRandom 安全种子

这段代码安全吗?SecureRandomrandomizer=newSecureRandom(String.valueOf(newDate().getTime()).getBytes());这是实例化安全随机种子的正确方法吗? 最佳答案 不,您应该避免使用SecureRandom(byte[])构造函数。它既不安全又不可携带。它不可移植,因为它在Windows和其他操作系统上的行为不同。在大多数操作系统上,默认算法是“NativePRNG”,它从操作系统(通常是“/dev/random”)获取随机数据并忽略您提供的种子。在Windo

java - 对 Java Security 和 BouncyCaSTLe API 感到茫然和困惑

我一直在尝试理解用于Java的BouncyCaSTLe加密API。不幸的是,我发现Java密码学通常被服务提供者接口(interface)和行话所掩盖,以至于我无法理解任何东西实际上做了什么。我已经尝试反复阅读必要的文档,但它仍然难以理解,引入了许多远远超出我认为应该需要的概念。我真正想要的是一个执行以下操作的类:publicclassKeyPair{publicbyte[]public;publicbyte[]private;}publicclassRSACrypto{publicstaticKeyPairgenerateRSAKeyPair(){/*implementation*/

java - 带有字节数组参数而不是 ASCII 的 PBEKeySpec

我想知道是否有办法将PBEKeySpec与字节数组参数一起使用。请找到以下文档的链接:http://docs.oracle.com/javase/1.7/docs/api/javax/crypto/spec/PBEKeySpec.html) 最佳答案 下面是我的解决方案:我用谷歌搜索得到它。请考虑我必须在内部复制密码和盐,因为当它们来自外部时它们具有另一种格式,但结果是相同的。它似乎有效并解决了密码为byte[]而不是char[]的问题(这让我发疯)我希望它有所帮助!干杯,苏斯塔publicclassPbkdf2{publicPbk

java - Bouncy CaSTLe API 线程安全吗?

是BouncyCastleAPI线程安全?特别是,org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipherorg.bouncycastle.crypto.paddings.PKCS7Paddingorg.bouncycastle.crypto.engines.AESFastEngineorg.bouncycastle.crypto.modes.CBCBlockCipher我计划在我的应用程序中编写一个单例Springbean以提供基本级别的加密支持。由于它是一个web应用程序,因此多个线程同时访问该组件的可能性更大。因此,胎面

java - CryptoJS AES 加密和 Java AES 解密

我之所以问这个问题,是因为2天来我已经阅读了很多关于加密AES加密的帖子,就在我以为我明白了的时候,我意识到我根本没有明白。这篇文章是最接近我的问题的,我有完全相同的问题但没有得到解答:CryptoJSAESencryptionandJAVAAESdecryptionvaluemismatch我试过很多方法,但我做对了。首先我得到的是已经加密的字符串(我只是得到代码看看他们是怎么做的),所以修改加密方式不是一个选项。这就是为什么所有类似的问题对我都没有那么有用。第二我确实可以访问key并且可以修改它(因此如果需要,可以选择调整长度)。加密是在CryptoJS上完成的,它们将加密的字符串

java - 从字符串创建 RSA 公钥

我使用1024RSA生成了这个测试公钥,然后在另一个编码平台中将其编码为DER和Base64。我将key复制到Android/Eclipse中的字符串中,并尝试使用KeyFactory将其转换为公钥。无论我尝试什么,它都会一直给我一个InvalidKeySpecException。任何建议都将不胜感激。privatevoidprepKeys(){StringAppKeyPub="MIGHAoGBAOX+TFdFVIKYyCVxWlnbGYbmgkkmHmEv2qStZzAFt6NVqKPLK989Ow0RcqcDTZaZBfO5"+"5JSVHNIKoqULELruACfqtGoATf

java - 使用 OpenSAML 在 Java 中使用 SAML 2.0 解密加密断言

我在尝试使用SAML2.0解密加密断言时遇到问题。我使用的库是OpenSAMLJava库2.5.2。加密断言如下所示:1H3mV/pJAlVZAst/Dt0rqbBd67g=...ENCRYPTEDKEYHERE......ENCRYPTEDASSERTIONSHERE...我确实使用以下openssl命令将PEM格式的私钥转换为pkcs8格式:opensslpkcs8-topk8-nocrypt-informPEM-inrsa_private_key.key-outformDER-outrsa_private_key.pk8然后我准备尝试解密加密的断言。这是我的Java代码:.../