用3DES加密字符串时出现NoSuchProviderException
我是Java的新手.我遵循此教程关于使用3DES algorithm的加密和解密. 我已经实现了: 创建了一个类并放置了上述链接中提供的3DES代码. 在上面的链接中称为加密方法: String encryptedPassword = Encrypter.encrypt(edtText.getText().toString()); 我在logcat中获得例外: 05-02 15:19:10.804: W/System.err(4445): java.security.NoSuchProviderException: Provider not available: SunJCE 05-02 15:19:10.820: W/System.err(4445): at javax.crypto.Cipher.getInstance(Cipher.java:209) 05-02 15:19:10.820: W/System.err(44
0 2024-02-11
编程技术问答社区
安卓上的Mifare Ultralight C认证
我有一些用于测试身份验证的Mifare超轻C标签. 我第一次使用应用程序NXP Taginfo阅读它,我可以看到以下信息: (...) Page 04 - Page 27: FULL OF 0s **(empty tag)** Page 28: 00 00 -- -- Page 29: 00 00 -- -- Page 2A: 30 -- -- -- Page 2B: 00 -- -- -- Page 2C: 42 52 45 41 PAGE 2D: 4B 4D 45 49 PAGE 2E: 46 59 4F 55 PAGE 2F: 43 41 4E 21 第2C -2F页意味着它具有默认的键" breakmeifyoucan!" (425245414b4d454946594f5543414e21). 然后我运行了我的Android应用程序,这基本上是这样做的: 写49454D4B41455242214E4143554F5946从第2C页到第2F页(用于认证)
2 2024-02-06
编程技术问答社区
Java中的3DES结果与iOS版的3DES产生不同的结果
我真的真的....真的需要帮助.............. - 任意 - 我需要帮助,因为与iOS 3DES功能相比,我的Java功能给了我不同的结果.我发布了iOS和Java的代码;并在指定明文为" Tutor.1"时结果,MD5密钥为" Spo13+qlzcrae93pixmxlg =="(显然,MD5对两者都是相同的). > java 3des (简短而简单) public static String encrypt(String plaintext, String enctoken){ if(enctoken == null) enctoken = "sfdjf48mdfdf3054"; String encrypted = null; byte[] plaintextByte = EncodingUtils.getBytes(plaintext,"UTF-8"); byte[] hash = C
2 2024-01-23
编程技术问答社区
为什么3DES不对一个区块进行加密?
我正在尝试实现我过去问的这个问题 secaryelly searly secryply w/o w/o w/o w/o w/o ever hearthead? 在直接的窗口中,我输入TripleDES.Create().LegalBlockSizes.First()并获得 {System.Security.Cryptography.KeySizes} MaxSize: 64 MinSize: 64 SkipSize: 0 每个字节的64位/8bits是8个字节.长时间是多长的.无论如何,我通过下面的代码运行,例外抛出.块的长度为16比.不是我想要的...我会问如何将其更改为64位,但是正如结果所示,最小和最大值是64位,所以我为什么要获得128bits? ? long enc(long v, byte[] iv) { using (var m = new MemoryStream()) { using (va
2 2024-01-07
编程技术问答社区
为什么3DES不对一个区块进行加密?
我正在尝试实现我过去问的这个问题 secaryelly searly secryply w/o w/o w/o w/o w/o ever hearthead? 在直接的窗口中,我输入TripleDES.Create().LegalBlockSizes.First()并获得 {System.Security.Cryptography.KeySizes} MaxSize: 64 MinSize: 64 SkipSize: 0 每个字节的64位/8bits是8个字节.长时间是多长的.无论如何,我通过下面的代码运行,例外抛出.块的长度为16比.不是我想要的...我会问如何将其更改为64位,但是正如结果所示,最小和最大值是64位,所以我为什么要获得128bits? ? long enc(long v, byte[] iv) { using (var m = new MemoryStream()) { using (va
0 2024-01-06
编程技术问答社区
如何在加密字符串中添加和检索TDES IV(初始化向量)?
我正在使用.NET上的MVC应用程序,为了确保我的敏感信息,例如Web.config中的信息,我有两个功能使用Triple des加密和解密信息,但是我是新手在朋友的帮助下成功到达这里,并在这里提出很少的问题. 我目前卡住的点是如何在加密字符串的末端添加tdes IV (Initialization Vector),以及在解密时如何再次检索它?我的意思是您如何在此处的加密信息中识别出IV (Initialization Vector)星星? 请帮助. public static string Encrypt(string Message) { byte[] iv; byte[] Results; System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding(); MD5CryptoServiceProvider HashProvider =
4 2024-01-06
编程技术问答社区
.NET TripleDESCryptoServiceProvider在Java中的等同性
请,不要问我为什么.我只是在.NET中使用此代码,该代码加密/解密数据字符串.我现在需要在Java中使"完全"相同的函数.我已经尝试了几个否定的示例,但它们都没有给出与.net中的此类相同的结果. 我即使在SSL后面制作.NET Webbvice以使用.NET中的这两种方法,但是它太愚蠢了,无法在不筋疲力尽的情况下做. 也许你们中的一些爪哇人在该地区有更多相关的人,您的头顶将如何制作. 谢谢!!! public class Encryption { private static byte[] sharedkey = {...}; private static byte[] sharedvector = {...}; public static String Decrypt(String val) { TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvid
12 2024-01-04
编程技术问答社区
iOS 3DES与ECB返回一半的正确数据
使用3DE + ECB ALGO隐瞒密码的问题. 这是我使用的代码: class func encryptPassword(pass: String) -> String { let keyString = "123456789012345678901234" let keyData: NSData! = (keyString as NSString).dataUsingEncoding(NSUTF8StringEncoding) as NSData! let keyBytes = UnsafePointer(keyData.bytes) let data: NSData! = (pass as NSString).dataUsingEncoding(NSUTF8StringEncoding) as NSData! let dataLength =
4 2023-10-07
编程技术问答社区
MD5 3DES加密 Swift
我有一个应用程序,必须发送首先由MD5加密的登录凭据,然后由3DES. . 我已经设法使用cryptoswift通过MD5加密字符串. 但是,我找不到3des在Swift上加密的任何内容. 我尝试过commoncrypto.据我所知,这是在C中的 我找到了一些文章和教程,告诉我如何通过桥接标头(带有警告将不适用于框架)或model.map将CommonCrypto导入Swift.但是,都没有工作.我不确定这是否是iOS或Xcode的最新版本中的限制. 有人可以建议替代方案吗? 谢谢 编辑 嗨,请参阅我采取的以下步骤 好的,我创建了一个名为newencrypt的新项目. 我选择不使用标头选项,因为说明说这仅限于非框架应用/ 我在newencrypt中创建了一个名为CommonCrypto的文件夹,其中包含一个模块.其中的内容是:模块communcrypto [system] { 标题"/usr/include/commoncrypto/comm
20 2023-10-07
编程技术问答社区
在C#中复制T-SQL DecryptByPassPhrase
我要创建一个C#类,以使用T-SQL的EncryptBypAssphrase进行加密的字节数组. (是的,我知道我可以在SQL Server中解密,但是我需要的是能够在数据库层和中间层中加密/解密.) 我知道SQL Server的EncryptBypassphrase和DecryptBypassphrase使用Thipledes对称密钥算法.但是,我尚不清楚IV模拟SQL Server的隐秘功能的应有什么.我可以使用 treepledescryptoscryptoserviceprovider 类,但是我可以' t找到正确的键和IV实现,以复制SQL Server在做什么. 有人做过类似的事情吗?谢谢! 解决方案 在GitHub上有一个公共回购,它在C#中重新创建EncryptByPassPhrase,而IV在实现变化时取决于SQL Server的版本.您可以查看代码的存储库. https://github.com/krcs/krcs/sqlservercrypto
34 2023-09-16
编程技术问答社区
如何在Ruby中以十六进制进行三重DES计算?
我正在尝试在Ruby中进行一些三重加密.我正在尝试复制此页面的结果: http://da.nmilne.com/des. html 我正在尝试将这些结果复制在Ruby中.我怀疑问题是钥匙应该是一根字符串,但是我需要通过十六进制键.要么被加密的字符串以错误的格式.也许是两者. : - ) require 'openssl' des = OpenSSL::Cipher::Cipher.new("des-ede-cbc") des.encrypt des.key="23232323232323234545454545454545" des.update("0000000000000000") res=des.final res.unpack('H*') => ["5045c5d37ca4d13b"] ,但应该是: => ["3a42d7a1d1c60c40"] 关于我出错的地方有什么指导吗? 这里记录了不同的3DE算法: http://www.openssl
8 2023-08-16
编程技术问答社区
DES3加密:Ruby openssl::cipher vs. oracle dbms_obfuscation_toolkit
我有一个用PL/SQL编写的旧应用程序,该应用程序使用3DE进行加密和解密数据.现在,我需要从Ruby应用程序执行类似的加密.最终,将需要使用其现有算法来通过相同的PL/SQL应用程序解密所得的哈希. 问题是我在PL/SQL和Ruby中获得了不同的加密结果,我不知道为什么. 首先是PL/SQL加密的工作方式: 来自Oracle关于DBMS_OBFUSCATION_TOOLKIT的文档" Oracle的3DES实现支持2键或3键实现,在外部密码链接(CBC)模式下." 功能签名: DBMS_OBFUSCATION_TOOLKIT.DES3Encrypt( input_string IN VARCHAR2, key_string IN VARCHAR2, encrypted_string OUT VARCHAR2, which IN PLS_INTEGER DEFAULT TwoK
4 2023-08-15
编程技术问答社区
在Ruby中对3DES进行加密/解密
我有一个键.bin文件,哪些内容是: 的行 -12, 110, 93, 14, -48, ... 服务正在用来解密3DES内容,但我需要通过Ruby进行对其进行加密. 我尝试了如何设置钥匙以及如何处理它的方案,但尚无可用: 尝试通过并将每个数字转换为六角 尝试将数字字符串转换为二进制 尝试将产生的十六进制转换为二进制 我认为我需要做的是简单的东西: des = OpenSSL::Cipher::Cipher.new('des3') des.decrypt des.key = mistery # this step is where i'm having problems at final = des.update(encrypted) + des.final 关于我应该用这个键做什么的想法? 关键样本: -62,-53,124,-110,37,-88,-48,31,-57,93,70,-101,44,69,-88,-57,-123,-99
24 2023-08-15
编程技术问答社区
如何在C#中使用RSA来加密文件(巨大的数据)?
我是新手的加密.我需要实现不对称的加密算法,我认为它使用了私钥/公钥.我开始使用rsacryptoserviceprovider的样本.可以加密的小数据是可以的.但是,当在相对较大的数据" 2行"上使用它时,我会得到异常的加密感受"不良长度"! //Create a new instance of RSACryptoServiceProvider. using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) { //Import the RSA Key information. This only needs //toinclude the public key information. //RSA.ImportParameters(RSAKeyInfo); byte[] keyValue = Convert.FromBase64String(publicKey);
6 2023-08-13
编程技术问答社区
如何使用M2Crypto包装器在Python中进行3DES加密?
我对使用M2Crypto的Python中的硬件设备进行了使用RSA加密的硬件设备的工作测试.现在,我需要测试使用3DE加密的类似设备.但是我不知道如何使用M2Crypto进行三重DES加密. 我知道应该从此图表.但是不幸的是,我已经搜索了3DE和" OpenSSL API",发现一些难以解密的C代码,这使得我看起来需要使用m2crypto.evp.cipher.但是我还没有找到任何用于DES的示例.我发现的最接近的是此博客文章在使用AES上使用AES加密.看来我只需要找出正确的参数到M2Crypto.EVP.Cipher.__init__().我会继续挖掘,但我认为值得发布这个问题. 解决方案 以下代码对我有用: with open(keyfile, 'rb') as f: key = f.read() encrypt = 1 cipher = Cipher(alg='des_ede3_ecb', key=key, op=encrypt, iv='\0'*16
10 2023-07-08
编程技术问答社区
mcrypt_encrypt到openssl_encrypt,以及OPENSSL_ZERO_PADDING问题
我有这个mcrypt_encrypt呼叫,对于给定的$key,$message和$iv: $string = mcrypt_encrypt(MCRYPT_3DES, $key, $message, MCRYPT_MODE_CBC, $iv); 我想更改mcrypt_encrypt呼叫openssl_encrypt一个,以使其有所防止. 通过具有$mode = 'des-ede3-cbc'或$mode = '3DES';和$options = true,我得到了更相似的响应,但不完全相同.还有其他方法可以称其为完美匹配吗? 我正在为lorem-ipsum $message+$key组合获得此(base64_encoded),所以我开始相信一个函数或另一个功能在加密之前有些填充消息... for mcrypt: " y+jgmbdfi7zyy3m9ljxctb5vgu+rwvlbfjug2glx7uo =" for openssl: " y+jg
12 2023-06-29
编程技术问答社区
使用openssl des-ede从命令行解密,零填充和原始数据
我正在尝试在命令行中重新创建一些OPENSL PHP代码.我已经能够获得以下PHP代码工作: $key = 'aaaaaaaabbbbbbbbccccccccdddddddd'; $key = pack('H*',$key); $data = 'b5057bbc04b842a96144a0f617f2820e'; $data = pack('H*',$data); $result = openssl_decrypt($data,'des-ede', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING); 我正在处理的命令(ubuntu) openssl des-ede -in encrypted-data.txt -out decrypted-data.txt -d -K aaaaaaaabbbbbbbbccccccccdddddddd -nopad 键 我解密的关键是十六进制值:aaaaaaaabbbbbbbbcc
24 2023-06-05
编程技术问答社区
在PHP中用C#解密字符串编码的3DES
我必须在php中解密一个用此c#类编码的字符串(它是 using System; using System.Security.Cryptography; using System.Text; public static class Encryption { public static string Encrypt(string input, string key) { byte[] inputArray = UTF8Encoding.UTF8.GetBytes(input); TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider(); tripleDES.Key = UTF8Encoding.UTF8.GetBytes(key); tripleDES.Mode = CipherMode.ECB; tripleDES.Padding = PaddingMode.PKCS7; ICrypto
22 2023-06-04
编程技术问答社区
OpenSSL [des-ede3-cbc] Decryption php
我必须接收一些带有共享键的3DE的数据. 我正在使用php7和openssl_decrypt函数,但是我无法重新创建发送给我的文档的示例的结果. 创建发送给我的数据的OPENSL命令如下: openssl enc -des-ede3-cbc -base64 -K 17839778773fadde0066e4578710928988398877bb123789 -iv 00000000 -in D:/in.txt Example: string_encoded: 123456 data_to_decrypt: Ja79hWTRfBE= 我尝试使用在线工具来解码" JA79HWTRFBE =",然后成功获得" 123456". (我使用了此工具:在我的php代码下方: $key = "17839778773fadde0066e4578710928988398877bb123789"; $decData = openssl_decrypt(base64_decode('
190 2023-06-02
编程技术问答社区