小编Bre*_*all的帖子

.NET中的RSA加密/解密问题

我在使用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)

c# encryption rsa

17
推荐指数
2
解决办法
3万
查看次数

Java多连接下载

我想得到一些建议,我已经开始了一个新项目来创建一个将使用多个连接的java下载加速器.我想知道如何最好地解决这个问题.

到目前为止,我已经发现我可以使用HttpUrlConnection并使用range属性,但想知道这样做的有效方法.一旦我从多个连接下载了部件,我就必须加入这些部件,以便我们最终得到一个完全下载的文件.

提前致谢 :)

java download httpurlconnection

12
推荐指数
2
解决办法
6488
查看次数

Java HttpUrlConnection获取内容长度的限制

对,我开始创建一个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

java download httpurlconnection

10
推荐指数
1
解决办法
1万
查看次数

c#webservice的问题,引用方法和类型

我遇到了一些问题,不确定这是不是问题,但是想要一些建议.

我在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,我假设当它被反射并检查时会发生这个错误.

以前有没有人遇到类似的问题,或者有人可以给我一些建议吗?

谢谢

c# web-services

8
推荐指数
2
解决办法
1万
查看次数

C#WCF插件的设计和实现

我想得到一些建议.我正在开发一个系统,它将在运行时加载插件并要求它们通过WCF端点可用.

我将有一个仅用于配置的MVC 3 Web应用程序,以及一个将加载不同插件的类库(核心).

我会很感激如何解决这个问题.我想加载插件,然后能够创建一个在IIS 7中注册的WCF端点,以访问该插件.

提前致谢 :)

c# wcf plugins mef

7
推荐指数
1
解决办法
3007
查看次数

关于在Java中创建解释语法的建议

在我的工作中,我经常处理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

java

4
推荐指数
1
解决办法
108
查看次数

Nativescript Angular 防止在后台点击时关闭模态

我对 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 属性,但似乎无法获得显示的实际模式的句柄。

angularjs nativescript

1
推荐指数
1
解决办法
1884
查看次数