小编Hem*_*ant的帖子

使用RSA加密的加密数据大小(RSACryptoServiceProvider)

我需要在我正在开发的项目中使用一些加密机制.我正在探索RSA加密并编写了一些示例程序来学习.

据我所知,RSA加密的块大小为16字节.所以我给字符串"12345678"作为下面函数的输入:

public static string Encrypt (string input) {
    var byteConverter = new UnicodeEncoding ();

    RSACryptoServiceProvider cruptoEngine = new RSACryptoServiceProvider();
    byte[] output = cruptoEngine.Encrypt (byteConverter.GetBytes (input), false);
    return BytesToString (output); //BytesToString () converts the bytes to hex string
}

现在我得到的加密字符串是128个字节(256个十六进制字符).这个字符串对我来说太大了.如果我提供16字节的普通数据,我有点希望得到16字节的加密数据.难道我做错了什么?这是应该发生的吗?我可以以某种方式缩短加密数据吗?

.net encryption cryptography rsa

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

使用Triple DES时加密的数据大小

我打算在我的一个项目中使用TripleDES.我正在做一些实验来适应它.我理解三重DES的块大小是8字节所以我假设如果给出8字节的数据,我应该得到8字节的加密数据.但我得到的是:

Input Size   | Encrypted Size
.            | .
.            | .
6 bytes      | 8 bytes
7 bytes      | 8 bytes
8 bytes      | 16 bytes
9 bytes      | 16 bytes
.            | .
.            | .

这是正常的吗?这是它应该工作的方式.以下是我尝试使用三重DES的方法:

class TripleDESEncryption
{
    private readonly TripleDESCryptoServiceProvider engine;

    public TripleDESEncryption () : this (256) { }

    public TripleDESEncryption (int keySizeInBits) {
        engine = new TripleDESCryptoServiceProvider { KeySize = keySizeInBits };
        engine.GenerateKey ();
    }

    public byte[] Encrypt (byte[] plain) {
        return engine.CreateEncryptor ().TransformFinalBlock …
Run Code Online (Sandbox Code Playgroud)

.net c# encryption 3des cryptography

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

使用Linq的数据库表中的唯一字符串列表?

我有一个"门票"表,有一些跟随结构(删除不必要的列)

int | string   | int   |
ID  | Window   | Count |
------------------------
0   | Internet | 10    |
1   | Phone    | 20    |
2   | Fax      | 15    |
3   | Fax      | 10    |
4   | Internet | 5     |
.   | .        | .     |
.   | .        | .     |

我已将此表映射到"Ticket"类.所以我可以得到这样的所有记录:

var tickets = from t in db.Tickets
              select t;

现在我需要获取表中唯一窗口名称的列表.对于上表,列表看起来像:

  • 互联网
  • 电话
  • 传真

无论如何创建这个列表而不获取所有记录并迭代它们?

我正在使用SQL Server 2008快速版.

编辑:谢谢你的答案,它解决了上述问题.只要被贪婪,但有什么办法得到了总数的每个窗口.例如:

  • 互联网= 15
  • 电话= …

c# linq sql-server

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

如何使用jQuery访问元素id和其他属性?

我有JavaScript方法,当提交表单的特定类(mcb)时,它会起作用:

function BindCloseMessage() {
    $(".mcb").submit(function(event) {
        alert("closing..."); //Here I want to get the id of form
        event.preventDefault();
    });
}
Run Code Online (Sandbox Code Playgroud)

代替警报调用,我需要访问其提交被调用的表单的id.我该怎么做?更好的是访问任何属性的提示......

谢谢

javascript jquery

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

如何在使用多个代理客户端时修复WCF中的basicHttpBinding?

[问题似乎有点长,但请耐心等待.它有样本来源来解释这个问题.]

请考虑以下基本上是WCF主机的代码:

[ServiceContract (Namespace = "http://www.mightycalc.com")]
interface ICalculator
{
    [OperationContract]
    int Add (int aNum1, int aNum2);
}

[ServiceBehavior (InstanceContextMode = InstanceContextMode.PerCall)]
class Calculator: ICalculator
{
    public int Add (int aNum1, int aNum2) {
        Thread.Sleep (2000); //Simulate a lengthy operation
        return aNum1 + aNum2;
    }
}

class Program
{
    static void Main (string[] args) {
        try {
            using (var serviceHost = new ServiceHost (typeof (Calculator))) {
                var httpBinding = new BasicHttpBinding (BasicHttpSecurityMode.None);
                serviceHost.AddServiceEndpoint (typeof (ICalculator), httpBinding, "http://172.16.9.191:2221/calc");

                serviceHost.Open ();
                Console.WriteLine ("Service …
Run Code Online (Sandbox Code Playgroud)

c# wcf tcp http

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

如何编写一个函数来调用另一个函数并捕获一些异常?

我有一系列具有不同参数签名的函数:

public void function1 (string s1, string s1, string s3, string s4) {...}
public void function2 (int i1, int i2, string s3, string s4) {...}    
public void function3 (int i1, string s2, int i3, string s4) {...}
.
.
etc //some 30 odd functions
Run Code Online (Sandbox Code Playgroud)

调用每个函数可能会抛出一组异常,如TimeoutException,CommunicationException等(是的,这些是WCF代理函数)

现在我必须将这些调用包装在try catch块中,但DRY原则说我写错了很多相同的try catch块:

public void Interfacefunction1 (...) {
    try {
        function1 (...);
    }
    catch (TimeoutException) {
        taskResult.Success = false;
        taskResult.Message = Resources.ServerConnectionBroke;
    }            
    catch (CommunicationException) {
        taskResult.Success = false;
        taskResult.Message = Resources.CommunicationFailed;
    }
}

//and... …
Run Code Online (Sandbox Code Playgroud)

.net c# exception

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

如何将delphi库移植到Win CE?

我有一个最初用Delphi编写的win32库(DLL)项目.它被用于各种应用,并且工作正常.

现在我需要在Win CE应用程序中使用相同的功能.据我所知,不能直接使用相同的DLL.将代码移植到Win CE有什么选择?

delphi windows-mobile

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

TCP/IP数据包如何到达特定的服务器套接字?

据我所知,当TCP客户端连接到服务器时,它会自动使用未使用的本地端口,除非明确指定.在服务器端,我们有一个侦听套接字,只要接受新连接,就会创建一个新套接字.

但是所有服务器套接字都使用相同的本地端口(我用netstat检查过).我的问题是当所有服务器端套接字通过相同的IP地址和本地端口进行通信时,从客户端发送的数据包如何到达服务器上的特定套接字?

下面是一个telnet快照,显示我的tcp/ip echo服务器使用相同的地址和端口进行2个不同的连接.

替代文字http://i47.tinypic.com/34o6jrr.png

windows tcp winsock

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

你能推荐一款非常超级的原生delphi图形引擎吗?

我们一直在使用Pro Essentials图形(gigasoft.com),但它与delphi不能很好地兼容,所以它一直在引发问题.

我们需要显示波形和条形图(不是同时显示).波形可能有数千个点.我们需要一些功能齐全的东西,这是一种"活的"产品.

我们的应用程序是本机win32 delphi 2009应用程序.

谢谢你的建议!

delphi charts graphing delphi-2009

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

NSData无法正常工作

NSData *myRequest = [NSString stringWithFormat:(@"&site=%@&key=%@",tmpSite,tmpKey)];
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?

谢谢

iphone objective-c nsdata

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

我是否需要保留对`Task.Run`方法返回的`Task`的引用?

如果我有一个异步方法:

async Task Process()
{
    while (condition)
    {
        await ...;
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要安排执行此方法.所以我使用:

Task.Run(Process);
Run Code Online (Sandbox Code Playgroud)

我是否需要保留方法Task返回的对象的引用,Task.Run以确保Process执行完成?


这里有更多的上下文:我需要在我的应用程序中创建大量(大约50K)任务队列.所以我想创建一个无线程队列处理设计,当队列为空时(因为大多数队列都是这样),它没有成本(除了内存).

样本类的要点:https://gist.github.com/hemant-jangid/e990b27507596c086e5651f504d0521f

.net c# task-parallel-library async-await

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