我在使用RSA进行C#加密和解密时遇到问题.我开发了一个Web服务,将发送敏感的财务信息和交易.我希望能够做的是在客户端,使用客户端RSA私钥加密某些字段,一旦它到达我的服务,它将使用客户端公钥解密.
目前我不断得到一个"要解密的数据超过了这个128字节模数的最大值." 例外.我没有太多关于C#RSA加密技术,所以任何帮助都将非常感激.
这是我用来生成密钥的方法
private void buttonGenerate_Click(object sender, EventArgs e)
{
string secretKey = RandomString(12, true);
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
SecureString secureString = new SecureString();
byte[] stringBytes = Encoding.ASCII.GetBytes(secretKey);
for (int i = 0; i < stringBytes.Length; i++)
{
secureString.AppendChar((char)stringBytes[i]);
}
secureString.MakeReadOnly();
param.KeyPassword = secureString;
RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider(param);
rsaProvider = (RSACryptoServiceProvider)RSACryptoServiceProvider.Create();
rsaProvider.KeySize = 1024;
string publicKey = rsaProvider.ToXmlString(false);
string privateKey = rsaProvider.ToXmlString(true);
Repository.RSA_XML_PRIVATE_KEY = privateKey;
Repository.RSA_XML_PUBLIC_KEY = publicKey;
textBoxRsaPrivate.Text = Repository.RSA_XML_PRIVATE_KEY;
textBoxRsaPublic.Text = Repository.RSA_XML_PUBLIC_KEY; …Run Code Online (Sandbox Code Playgroud) 我想得到一些建议,我已经开始了一个新项目来创建一个将使用多个连接的java下载加速器.我想知道如何最好地解决这个问题.
到目前为止,我已经发现我可以使用HttpUrlConnection并使用range属性,但想知道这样做的有效方法.一旦我从多个连接下载了部件,我就必须加入这些部件,以便我们最终得到一个完全下载的文件.
提前致谢 :)
对,我开始创建一个Java下载管理器的项目很顺利.我目前看到的唯一问题是我请求URL的内容长度.当我使用HttpUrlConnection的getContentLength提供的方法时,它返回一个Int.
如果我只是下载文件大小小于2GB的文件,那就太棒了.做一些挖掘并发现java不支持unsigned int值,但即便如此,只能给我一个4GB的文件大小.
任何人都可以帮助我获得大于2GB的文件的内容大小的正确方向.
提前致谢.
UPDATE
谢谢你回答精英绅士,我尝试了你的建议,但仍然返回一个空值,所以我做的是
HttpURLConnection conn = (HttpURLConnection) absoluteUrl.openConnection();
conn.connect();
long contentLength = Long.parseLong(conn.getHeaderField("Content-Length"));
Run Code Online (Sandbox Code Playgroud)
出于某种原因,只使用conn.getRequestProperty总是为我返回一个null
我遇到了一些问题,不确定这是不是问题,但是想要一些建议.
我在vs2010中开发了ac#webservice,当我调试服务时,我在浏览器中收到此错误
名称空间"http://test.org/"中的XML元素"VoucherResponse"引用了方法和类型.使用WebMethodAttribute更改方法的消息名称,或使用XmlRootAttribute更改类型的根元素.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.InvalidOperationException:命名空间"test.org"中的XML元素"VoucherResponse"引用方法和类型.使用WebMethodAttribute更改方法的消息名称,或使用XmlRootAttribute更改类型的根元素.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
现在看看我在实际课程"VoucherResponse"中的代码,我有,
public class VoucherResponse : AResponse
{
public Voucher Voucher { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
而Voucher对象看起来像这样
public class Voucher
{
public string PIN { get; set; }
public string Serial { get; set; }
public string Batch { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在在我的一个Web方法中,我返回了VoucherResponse,我假设当它被反射并检查时会发生这个错误.
以前有没有人遇到类似的问题,或者有人可以给我一些建议吗?
谢谢
我想得到一些建议.我正在开发一个系统,它将在运行时加载插件并要求它们通过WCF端点可用.
我将有一个仅用于配置的MVC 3 Web应用程序,以及一个将加载不同插件的类库(核心).
我会很感激如何解决这个问题.我想加载插件,然后能够创建一个在IIS 7中注册的WCF端点,以访问该插件.
提前致谢 :)
在我的工作中,我经常处理POS(销售点)终端.它们基本上与用Java编写的系统端点进行通信,该端点将与后端系统进行通信.
对于收据,我们将在端点中编写代码,以生成需要打印的数据.这些收据每行只能占用40个字符,因此我们基本上会对每个需要打印的收据类型进行硬编码.
我想要做的是基本上提出一种脚本语法,我可以使用它来生成这些收据.
我的想法是有一个GUI程序,您可以在其中设计收据,如
Welcome To John Doe Services
Your current balance is $(F4).Format(currency)
Run Code Online (Sandbox Code Playgroud)
或类似的东西.有了这个,我可以解释语法$(F4).Format(货币),并实际拉取数据并正确格式化.
我会喜欢一些建议,我应该开始研究如何做到这一点.我想用Java写这个,但我不知道从哪里开始.我宁愿尝试远离一些子串魔法.
提前致谢.
编辑:对不起,我应该提到,我们扩展的软件是用J ++编写的,所以我不能使用Java 5或6,我可以使用的最新Java是1.4
我对 NativeScript 很陌生,但希望能够防止我创建的自定义模式在用户点击背景时被关闭,特别是对于 Android 设备。
当使用 NativeScript 提供的对话框时,我可以很容易地完成这一点,即对于一个动作对话框,可以通过cancelable在提供的选项中设置为 false来简单地做到这一点。
let options: ActionOptions = {
title: "Sticky Dialog",
message: "Will not disappear if background tapped",
cancelable: false,
actions: ["Cancel", "OK"]
};
dialogs.action(options).then(result => {
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)
但是当使用选项显示我的自定义模式时,ModalDialogService没有可以在选项中设置的属性,目前我有
let modalOptions: ModalDialogOptions = {
context: {},
fullscreen: false,
viewContainerRef: this.vcRef,
};
this.modalService.showModal(DeviceRegistrationComponent, modalOptions)
.then(result => {
if (result != null) {
this.handleDeviceOtpEntry(result.otp);
}
});
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?我不介意必须设置特定的原生 android 属性,但似乎无法获得显示的实际模式的句柄。
c# ×3
java ×3
download ×2
angularjs ×1
encryption ×1
mef ×1
nativescript ×1
plugins ×1
rsa ×1
wcf ×1
web-services ×1