namespace Dic
{
public class Key
{
string name;
public Key(string n) { name = n; }
}
class Program
{
static string Test()
{
Key a = new Key("A");
Key b = new Key("A");
System.Collections.Generic.Dictionary<Key, int> d = new System.Collections.Generic.Dictionary<Key, int>();
d.Add(a, 1);
return d.ContainsKey(b).ToString();
}
static void Main(string[] args)
{
System.Console.WriteLine(Test());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我应该改变什么才能成真?
委托有两种描述:第一种是在第三方程序集中:
public delegate void ClickMenuItem (object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
二,标准:
public delegate void EventHandler (object sender, EventArgs e);
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个接收EventHandler类型参数的方法,并使用参数ClickMenuItem调用第三方库.
如何将ClickMenuItem转换为EventHandler?
以下代码过程bytes = parseHexString(createHexString(bytes))导致更新字节,我想避免.结果计算不正确.
<html>
<head>
<SCRIPT SRC="http://eu.static.mega.co.nz/sjcl_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/crypto_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/rsa_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/hex_1.js"></SCRIPT>
<SCRIPT>
function parseHexString(str) {
var result = [];
while (str.length >= 2) {
result.push(parseInt(str.substring(0, 2), 16));
str = str.substring(2, str.length);
}
return result;
}
function createHexString(arr) {
var result = "";
for (i in arr) {
var str = arr[i].toString(16);
str = str.length == 0 ? "00" :
str.length == 1 ? "0" + str :
str.length == 2 ? str :
str.substring(str.length-2, …Run Code Online (Sandbox Code Playgroud) user_id,通过contacts.resolveUsername#bf0131c字符串搜索channel,然后我得到user_id = 0x0827ac18如果发送给
messages.getFullChat#3b831c66,则收到错误PEER_ID_INVALID.如果发送if
users.getFullUser#ca30a5b1,那么我得到错误USER_ID_INVALID.
channel使用contacts.search#11f812d8,然后我得到两个用户使用用户名ChannelBot和Channel_Bot,但与用户或频道名没有得到channel.messages.getFullChat#3b831c66?chat_id名字?为什么一个项目(exe)在同一个解决方案中没有看到另一个项目(dll)的命名空间?
我有一个RSA私钥,它只包含D,P,Q,U参数.
键符号http://www.gnupg.org/documentation/manuals/gcrypt/RSA-key-parameters.html
JavaScript进行解密
<html>
<head>
<SCRIPT SRC="http://eu.static.mega.co.nz/crypto_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/rsa_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/hex_1.js"></SCRIPT>
<SCRIPT>
function t()
{
// hex2s - conversion functions: hex to string
// mpi2b - conversion functions: num array <-> multi precision integer (mpi) mpi: 2 octets with length in bits + octets in big endian order
t = mpi2b(hex2s('080043e8950c95dbc8fdea8fd39dfbc65f4ff31ee4824d8e8ceabdf45cbb928b29863e80154b656f04510e983810889f5d12cee85369743db65b0b54949ff5320c9ed98f3bb6b12a2c26e16a1b8414955034c0ed35b21e9bbc58d8447db85f9c760057656bb3a7b5c80726d287b5bc312525bff7864ba2dc2c627cd50e3d752cd585cb301d327f209974e29ddcd1ac51e99209f1d1f96c9fef5ef810b32a54555b5d7cc69c2a107d717744b5167a8962ca08aaac717768e8235795b21dcd186ba348317e685f07f9a2cac14089242b6edb989c8818054de2f69de34653c3e2d8b70947278f44a8995eb5c3568460dbe8e7a1cf31466556454703b045cef1c61e8d09'));
p = mpi2b(hex2s('04009868b3fea798829975abd91d27982462b66aced52f1472f243dadbf9e2e551388bb55750764cfc6ff5b89345285c0faa18924ee392f729d7980a6e1f62bff79584eee9e23d23d53a5034198b44dce9791eb367243a9ec6973eb09b574b65c4156a999fdf48770035c488efc568ad80b5dc73e9ca6c67bf9f09bdb31d175f25e5'));
q = mpi2b(hex2s('0400d8ff209b2a325f66deee452e11b0306e7bc21dd99cdb8d175c8a08973f8b105b51a7a95b38d09ce72bf81178fbc902b3da791490d80bb0b6a8fa5e1c08636c57be45dbcc7b8c0da95390974f07456da5ca522f126b29b5226047432889482d983eb57679fe4e8d90aef2e06d8dbd0b6fa280b69ffddbd9c16bcd5f5569cef1f1'));
d = mpi2b(hex2s('07fd1e65b3aa438c9cb5ea6b14590d32945f907d1fb6053541e3c250b5a60b67a477e5bfd2e79d0d4bdb6bde9403ab908723aeee25bfe69665fecc028c2fe4df2c51c8579235cc25f888055dc1da529017c4f4e38b95486b036345bb4c03f75b37c305002916a7f2ffe7a03b1b72bb7836560d556627b7bfff9357cdc73e6ed790f3bf79c6cd0fcd98ef2d96e369e780b3b213d3a5b7df8a373585bda0d22da00f7737ecf59ec0fc68056e65eda05c5940fbb3109d97db8ff135b472117467ec47620736b9e39a70723f33d59dea5a98d18bae8c89aa1be77daf692f5407c8433bd0b85cc13de12e7f8b85d27b147e2e8e337fc1157b0cb76ef90e479b5059ba27f1'));
u = mpi2b(hex2s('03fe233721f3bda1e05d44de087b67749f4daafe02af79c183b2f41e040b6364a870c0896b84073de0fc1b7b2faee9100a250773282b6d9d935d30c1db2c7ef3daa017519dbb8d94edd32bde9ee0d460cb09d782b88f11552b810a595f6d26d12c38ee74c36d830b9d496947eeb878e6459b120bf747a28761926094797a4a5c9b68'));
sid = base64urlencode(b2s(RSAdecrypt(t,d,p,q,u)).substr(0,43));
if (sid=='tajetAbW0qTQGFlwp8iD5lQ0TFV1QUZJZFVvjRX7Xx-bPzYBoau7qog09w')
console.log("Decrypting work");
}
</script>
</head>
<body onload="t();" />
</html>
Run Code Online (Sandbox Code Playgroud)
我找到了BouncyCastle库,并为RSAParameters计算了所有参数.但我无法解密数据.我在方法RSACryptoServiceProvider.ImportParameters中 …
If I write class, then all ok
class C
{
protected int _attr;
int attr { get { return _attr; } }
}
class CWithSet : C
{
int attr { set { _attr = value; } }
}
Run Code Online (Sandbox Code Playgroud)
But, if I write interface
interface I
{
int attr { get; }
}
interface IWithSet : I
{
int attr { set; }
}
Run Code Online (Sandbox Code Playgroud)
then I have warring: "'IWithSet.attr' hides inherited member 'I.attr'. Use the new keyword if hiding was …
从该网站获取向量http://www.inconteam.com/software-development/41-encryption/55-aes-test-vectors#aes-ecb-128
在 javascript (sjcl) 中具有相同的结果
var key = [0x2b7e1516,0x28aed2a6,0xabf71588,0x09cf4f3c];
var test = [0x6bc1bee2,0x2e409f96,0xe93d7e11,0x7393172a];
aes = new sjcl.cipher.aes(key);
r = aes.encrypt(test);
console.log(r);
Run Code Online (Sandbox Code Playgroud)
但我无法在 C# 中达到它
[TestMethod]
public void EncryptIntsToInts()
{
Int32[] key = { unchecked((Int32)0x2b7e1516), 0x28aed2a6, unchecked((Int32)0xabf71588), 0x09cf4f3c };
Int32[] test = { 0x6bc1bee2,0x2e409f96,unchecked((Int32)0xe93d7e11),0x7393172a };
Int32[] answer = { 0x3ad77bb4, 0x0d7a3660, unchecked((Int32)0xa89ecaf3), 0x2466ef97 };
var r = AES.EncryptIntsToInts(test, key.ToByteArray());
Assert.IsTrue(r.SequenceEqual(answer));
}
static byte[] zeroIV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 mobx 和 typescript 创建一个反应应用程序。但它不起作用。
我希望计时器可以计算秒数。我看到事件发生并更新了计数器。但该组件不会重新渲染。我究竟做错了什么?
import React from "react";
import { observable, action } from "mobx";
import { observer, inject, Provider } from "mobx-react";
export class TestStore {
@observable timer = 0;
@action timerInc = () => {
this.timer += 1;
};
}
interface IPropsTestComp {
TestStore?: TestStore;
}
@inject("TestStore")
@observer
export class TestComp extends React.Component<IPropsTestComp> {
constructor(props: IPropsTestComp) {
super(props);
setInterval(() => {
this.props.TestStore!.timerInc();
}, 1000);
}
render() {
return <div>{this.props.TestStore!.timer}</div>;
}
}
export class TestApp extends React.Component …Run Code Online (Sandbox Code Playgroud) 如何用列表实现接口成员"f"?
public interface I
{
IEnumerable<int> f { get; set; }
}
public class C:I
{
public List<int> f { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
错误1'ClassLibrary1.C'未实现接口成员'ClassLibrary1.I.f'.'ClassLibrary1.Cf'无法实现'ClassLibrary1.If',因为它没有匹配的返回类型'System.Collections.Generic.IEnumerable'.c:\ users\admin\documents\visual studio 2010\Projects\ClassLibrary1\Class1.cs
c# ×8
.net ×1
aes ×1
arrays ×1
c++ ×1
delegates ×1
dictionary ×1
ecmascript-6 ×1
encryption ×1
gnupg ×1
hex ×1
javascript ×1
mobx ×1
reactjs ×1
rsa ×1
string ×1
telegram ×1
typescript ×1
winapi ×1
windows ×1