小编Bog*_*scu的帖子

是否有内置函数来反转位顺序

我想出了几种手动方法,但我一直想知道是否有内置的.NET可以做到这一点.

基本上,我想要反转一个字节中的位顺序,以便最低有效位成为最高有效位.

例如:1001 1101 = 9D将变为1011 1001 = B9

关于如何执行此操作的方法是使用按位操作,如果遵循此伪代码:

for (i = 0; i<8; i++)
{
  Y>>1
  x= byte & 1
  byte >>1
  y = x|y;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有某个功能允许我在一行中完成所有这些功能.另外,你知道这个操作的术语,我确定有一个,但我现在不记得了.

谢谢

.net c# bitwise-operators

30
推荐指数
4
解决办法
2万
查看次数

Android上的Opera Mobile无法打开应用程序(不遵守intent-filter)

我正在Android上为需要将其与Opera Mobile(而非其他浏览器)集成的客户构建一个自定义软件.其中一个要求是浏览器中打开的特定链接由我们的自定义软件处理.我知道的不仅仅是关于意图过滤器的事情,这不是问题.

问题是Opera Mobile似乎非常顽固地允许操作系统处理Opera可以处理的链接.例如,使用任何行为良好的浏览器(默认的Android浏览器,Chrome浏览器等)在Google上搜索"Google Play"; 现在点击第一个结果(Google Play网站):根据您现有的设置,系统会提示您使用哪个应用,或者直接打开Goog​​le Play应用.现在在Opera Mobile中尝试相同:Opera只打开Goog​​le Play网站 - 这显然是不可取的,因为现在您无法安装应用程序,您只能浏览目录.

有没有人知道如何说服Opera Mobile在这方面表现得正常?我正在测试Opera Mobile版本12.10.

opera android intentfilter

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

为什么常量不是用于Node.js中的事件?

我是节点的新手,但我来自广泛的编程背景.在我看过的任何地方(无论是在教程中还是在我看过的生产代码中),人们都压倒性地使用硬编码字符串而不是常量来识别事件.

我从npm 最依赖的软件包列表中选择了一个随机的例子来说明我的意思:«请求»库 - 为什么它们每次都输入字符串来发出消耗 «data»事件'data',而不是在库中定义不变?

在我所知道的任何编程语言中,使用常量都被认为是一种很好的实践,但是节点开发人员似乎完全满足于硬编码方法.为什么?

javascript design-patterns constants hardcoded node.js

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

为什么 MySQL 在 JOIN 加 ORDER 时不使用主键?

这是给你的一个简洁的(显然是 MySQL):

# 设置
如果存在则删除数据库index_test_gutza;
创建数据库index_test_gutza;
使用index_test_gutza;

创建表 customer_order (
    id 中型无符号非空自动递增,
    发票 MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
    主键(id)
);
插入客户订单
    (身份证、发票)
    价值观
    (1, 1),
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5);

创建表 customer_invoice (
    id 中型无符号非空自动递增,
    发票号 MEDIUMINT UNSIGNED DEFAULT NULL,
    发票_pdf LONGBLOB,
    主键(id)
);
插入客户发票
    (id,发票号)
    价值观
    (1, 1),
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5);

# 好的,这是牛肉
解释
    选择 co.id
    来自 customer_order AS co;

解释
    选择 co.id
    来自客户_订单 AS co
    按 co.id 订购;

解释 …

mysql indexing sql-order-by left-join

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

openssl cms -verify 不适用于外部证书

我已经研究了几天,终于想出了一个简单的测试用例。我需要签署并验证 SMIME/CMS 格式文件的签名,该文件不得包含证书。

\n\n

签名工作正常,但只有当证书嵌入到签名文件中并且允许 openssl 使用它时,验证才有效。如果我不包含证书或者告诉 openssl 忽略它,验证将失败,即使我在两种情况下都明确指定了签名者证书和 CA 证书。

\n\n

我有以下文件:

\n\n
    \n
  • ca-crt.pem\xe2\x80\x93 CA 证书
  • \n
  • server-crt.pem\xe2\x80\x93 我用于签名的证书
  • \n
  • server-key.pem\xe2\x80\x93 服务器的私钥
  • \n
  • sample.xml\xe2\x80\x93 我要签名的示例文件
  • \n
\n\n

步骤1:生成签名文件:

\n\n
$ openssl cms -sign -signer server-crt.pem -inkey server-key.pem -nodetach -md sha256 -in sample.xml -outform der -out sample.cms-der -noattr\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,我没有要求 openssl 排除证书。在最终版本中,我还必须添加-nocerts,但现在如果我们保留它,测试会更容易。

\n\n

步骤 2:使用嵌入证书验证签名

\n\n

好的,现在我们在sample.cms-der\xe2\x80\x93 中有签名文件,让我们首先使用签名文件中包含的证书来验证它:

\n\n
$ openssl cms -verify -CAfile ca-crt.pem -inform der -signer server-crt.pem -in sample.cms-der\nVerification …
Run Code Online (Sandbox Code Playgroud)

openssl cryptography signing smime

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