- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在用 Java 加密某些字符串时遇到问题。我需要用与此 VisualBasic 代码相同的方式对它们进行加密:
Public Function Encrypt(ByRef EncryptionKeyPair As KeyPair, ByVal PlainText As String) As String
//Use Public Key to encrypt
m_objRSA.FromXmlString(EncryptionKeyPair.PublicKey.Key)
//Get Modulus Size and compare it to length of PlainText
// If Length of PlainText > (Modulus Size - 11), then PlainText will need to be broken into segments of size (Modulus Size - 11)
//Each of these segments will be encrypted separately
// and will return encrypted strings equal to the Modulus Size (with at least 11 bytes of padding)
//When decrypting, if the EncryptedText string > Modulus size, it will be split into segments of size equal to Modulus Size
//Each of these EncryptedText segments will be decrypted individually with the resulting PlainText segments re-assembled.
Dim intBlockSize As Integer = GetModulusSize(EncryptionKeyPair.PublicKey.Key) - 11
Dim strEncryptedText As String = ""
While Len(PlainText) > 0
If Len(PlainText) > intBlockSize Then
strEncryptedText = strEncryptedText & EncryptBlock(Left(PlainText, intBlockSize))
PlainText = Right(PlainText, Len(PlainText) - intBlockSize)
Else
strEncryptedText = strEncryptedText & EncryptBlock(PlainText)
PlainText = ""
End If
End While
Return strEncryptedText
End Function
Private Function EncryptBlock(ByRef TheRSAProvider As RSACryptoServiceProvider, ByVal strIn As String) As String
Return ByteArrayAsString(TheRSAProvider.Encrypt(StringAsByteArray(strIn), False))
End Function
Private Function GetModulusSize(ByVal intKeySize As Integer) As Integer
//KeySize is in Bits - so divide by 8 to get # of bytes
Return intKeySize / 8
End Function
我已经在互联网上搜索过了,但我还没有找到这样的东西。我有来自模数和指数的公钥,我正在这样做:
byte[] expBytes = Base64.decode(exponent.trim());
byte[] modBytes = Base64.decode(modulus.trim());
BigInteger modules = new BigInteger(1, modBytes);
BigInteger exponents = new BigInteger(1, expBytes);
KeyFactory factory = KeyFactory.getInstance("RSA");
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
RSAPublicKeySpec pubSpec = new RSAPublicKeySpec(modules, exponents);
PublicKey pubKey = factory.generatePublic(pubSpec);
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
byte[] encrypted =cipher.doFinal(field.getBytes("UTF-16LE"));
String string = new String(encrypted);
结果不正确,因为我没有对模数大小 - 11 做任何事情。你能解释一下我如何在 Java 中做到这一点吗?
谢谢。
最佳答案
模数大小不是问题。问题更有可能是您期望生成相同的值。它们不是,甚至不在 VB 代码或 Java 代码中(运行代码片段两次!)。 RSA PKCS#1 v1.5 填充包含随机数,确保加密始终产生不同的值。顺便说一下,这与 OAEP 填充相同。
请注意,您可能想要查看 OAEP 模式和混合密码系统,而不是您现在正在做的事情。然后你会更安全,你将能够处理任何大小的数据,尽管密文的数量当然会更大。
关于java - RSA Cypher VisualBasic 到 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26739249/
我有 VBA 代码来运行特定代码,我试图通过使用以下行给它 3 秒的等待时间来暂停下一次执行: Application.Wait (Now + TimeValue("00:00:03")) 但是我得到
Microsoft 列出了许多引用源 here 。 last blog entry 首先列出 microsoft.visualbasic.dll ,但我已经下载了三个可能的候选文件,将下载的文件重命名
我正在 VB 中编写一个 WSH 脚本,以读取通过 .Run 方法使用重定向目录列表生成的大量目录列表。 目录列表大约有8400行,但是每次运行脚本时,都会出现以下循环 执行直到 DirList.At
不知道如何一次设置多个对象元素? 比如怎么写 myobject.field1 = 12; myobject.field2 = 13; myobject.field3 = 14; myobject.fi
在我今天的警告中得到了这个,仍然不知道为什么,但似乎整个解决方案运行完美。 我应该担心吗? 我可以将它从引用中删除吗? 最佳答案 这些项目似乎引用了 Microsoft.VisualBasic,但如果
我创建了一个可移植的类库,它应该在 xamarin 项目中使用,我删除了项目中显式的 Microsoft.VisualBasic 引用。 在 xamarin 项目中使用该库会导致以下编译时错误: Ex
我正在使用 VB.NET 开发 Web 应用程序。其中还混杂了VisualBasic代码,特别是VB的Date变量和Month函数。 问题出在这部分: Month("10/01/2008") 在服务器
我正在将 python 应用程序转换为 VB.net,我需要有关此正则表达式的帮助: a = 'abcdef' b = re.compile('[' + a + ']{3,}$', re.I) 是否可
我不知道如何解决这个问题。我已经尝试了很多东西。 Dim Browse As New WebBrowser TabControl1.TabPages.Add(1, "Page " &
我在 .NET Framework 4.0 上,在 VisualStudio 2012 中构建 C# Web 应用程序。我添加了 Microsoft.VisualBasic 作为对项目的引用。我在使用
我将重构一些旧的VisualBasic应用程序,并出现以下情况: Public Sub MySub () Try ' execute dangerous operation
我正在用 C# 开发一个游戏,它在我的笔记本电脑上运行正常。但是,当我尝试在其他电脑上运行它时,出现错误“找不到 Microsoft.VisualBasic.Powerpacks.ShapeConta
我正在用 C# 开发一款游戏,它在我的笔记本电脑上运行正常。但是当我尝试在其他电脑上运行它时出现错误 “找不到 Microsoft.VisualBasic.Powerpacks.ShapeContai
我必须从 Java 应用程序访问 Office 应用程序的 VBA 代码,我发现 THIS这表示我可以使用 JNI 通过 VisualBasic DLL 访问 VBA 代码。如果没有必要,我不想使用
我有两种形式。 Form1(代码如下)和 Splash(只是用于测试的默认表单)。 我的问题是应用程序运行后,启动画面不会隐藏。主窗体已加载,但 Splash 仍未关闭。 Form1代码: using
我通常使用 C# 进行开发,并且非常习惯使用 System.IO。我最近浏览了 FileIO 库,发现其中一些优点(例如将项目发送到回收站)非常好。特别是在我目前正在从事的项目中。我的问题是,Syst
我有一组严重依赖 的 vb.net 类和函数 DateAndTime 可用在 Microsoft.VisualBasic 命名空间。 有谁知道某处是否存在属性或方法的“转换表”(似乎没有)? 我绝对希
我在用 Java 加密某些字符串时遇到问题。我需要用与此 VisualBasic 代码相同的方式对它们进行加密: Public Function Encrypt(ByRef EncryptionKe
我经常需要在 VB.Net 和 Visual C# 中编程,所以如果有人可以提供 VB.net 和 C# 类的引用列表,那将会很有帮助。 我是说喜欢VB 中的 My.Computer.Registry
我正在使用 visual studio 2012 和 .Net framework 4.5。我在我的项目引用中包含了“Microsoft.VisualBasic”。 我在执行项目时遇到以下错误。 Co
我是一名优秀的程序员,十分优秀!