小编hul*_*ist的帖子

如何将bouncycastle算法添加到android

我正在尝试使用bouncycastle算法编写一个小应用程序,来自BouncyCastleProvider.java它说我们必须在运行时通过以下代码导入和添加提供程序

import org.bouncycastle.jce.provider.BouncyCastleProvider; Security.addProvider(new BouncyCastleProvider());

错误 - 无法解析导入org.bouncycastle; 导入错误期间 - BouncyCastleProvider无法解析为某种类型; 在调用addProvider时

我虽然bouncycastle没有提供Android 1.6 SDK,所以想到单独安装.我该怎么办?如果Bouncycastle与SDK一起发货,我该怎么做才能避免这些错误?我在winXP上使用Android 1.6,eclipse-V3.4.0.提前致谢

encryption android bouncycastle

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

当更多可用时,为什么套接字读取0个字节

我发现以下代码循环使用100%的CPU:

byte[] buffer = new byte[0x10000];
while (true) {
    if (socket.Poll (5000000, SelectMode.SelectRead) == false)
        continue;
    int available = socket.Available;
    if (available == 0)
        return;
    int read = socket.Receive (buffer);
    Console.WriteLine ("Read: " + read + " Available: " + available);
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

输出是:

Read: 0 Available: 1
Read: 0 Available: 1
Read: 0 Available: 1
Read: 0 Available: 1
Read: 0 Available: 1
...
Run Code Online (Sandbox Code Playgroud)

我期待socket.Receive方法读取剩余的字节但显然不会导致我的代码循环为100%.

正如jgauffin所建议的那样,文档中写道:

如果远程主机使用Shutdown方法关闭Socket连接,并且已收到所有可用数据,则Receive方法将立即完成并返回零 字节.

所以读取0是预期的,但只有在读取了所有数据之后,哪个socket.Available声称不是.

Socket.Available的文档仅提及抛出异常的已关闭连接.

我怎样才能确保读取最后一个字节? …

.net c# sockets

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

没有先前USB配对的网络上的Adb

我有一个Android 4.2.2,需要ADB连接匹配批准的指纹.

问题是设备需要首次使用USB电缆进行配对,这在我的情况下会出现问题.

我的开发环境在VirtualBox中运行,我之前放弃了尝试让USB工作,而是通过网络使用ADB.

Android SDK平台工具是最新的1601.

有没有办法让我手动将密钥从虚拟机添加到我的设备?

我在我的主机上有一个可用的Android SDK,并且可以根据我的设备进行root访问来解决这个问题.

android adb

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

如何手动处置 RSACryptoServiceProvider?

我在 MSDN 上读到(请参阅重要说明)必须处置 RSACryptoServiceProvider。他们举了这样的例子:

using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
Run Code Online (Sandbox Code Playgroud)

现在我尝试将 RSACryptoServiceProvider 包含到 MyClass 中,并在多个方法中使用它。通过此设置,我无法使用 using 语句。

相反,我尝试在合适的时间调用 RSACryptoServiceProvider 对象的 .Dispose() 方法,但随后收到编译错误消息:

`System.Security.Cryptography.AsymmetryAlgorithm.Dispose(bool)' 由于其保护级别而无法访问

RSACryptoServiceProvider 的使用时间是否不应超过一次函数调用(使用 using 语句)?

我该如何解决这个问题,不让 Dispose 调用成为一个选项?

c# dispose rsacryptoserviceprovider

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

使用事件类型构造函数的目的/区别是什么

在我可以找到的所有示例以及Visual Studio中自动生成的代码中,使用以下代码设置事件:

button1.Click += new System.EventHandler(this.button1_Click);
Run Code Online (Sandbox Code Playgroud)

但我也可以通过省略构造函数包装器在视觉上更清晰地编写它:

button1.Click += this.button1_Click;
Run Code Online (Sandbox Code Playgroud)

哪个也编译好.

这两者有什么区别?为什么第一个主要使用/首选?

c# events

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

通过暂时启用NoDelay来套接"刷新"

背景

我在C#中实现了HTTP服务器.使用ab我发现了一个奇怪的性能问题.保持活动关闭时,每个请求花费5毫秒,而保持活动启动时则为40毫秒!

测试页生成单个字节[],使用单个套接字作为回复发送.发送调用.

原因是我可以告诉Nrab在TCP堆栈中使用的算法.

TCP Flush?

到目前为止,我在每个服务的HTTP请求的末尾使用NoDelay属性.

socket.NoDelay = true;
socket.NoDelay = false;
Run Code Online (Sandbox Code Playgroud)

哪个解决了现在的问题.但我没有备份我的发现的文件.

这是在linux/mono系统上测试的.

有没有标准的方法来刷新TCP连接?

有关

这个答案正在解决同样的问题.这里的不同之处在于我只想暂时禁用该算法.

.net c# tcp

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

顶点着色器中的透视划分?

When using a perspective matrix in a vertex shader am I supposed to write code to divide by w or is it done automatically in a later stage?

The reason for my question is that I have seen lots of vertex shaders using:

gl_Position = matrix * pos;
Run Code Online (Sandbox Code Playgroud)

which makes sense if there is a later stage that divides the vector with its w component.

However I never got it to work until I used the following in my vertex …

opengl opengl-3

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

将文件复制到远程位置会间歇性地找不到网络路径

我正在尝试将我的C#代码生成的文件(Excel文件)复制到我可以访问的远程网络路径中,如下所示:

string folder = "\\\\testing-path\\Audit\\Reports";
if (!(Directory.Exists(folder + "\\" + DateTime.Now.ToString("MM-dd-yyyy") + "\\" + "Audit")))
{
    Directory.CreateDirectory(folder + "\\" + DateTime.Now.ToString("MM-dd-yyyy") + "\\" + "Audit");
}
folder = folder + "\\" + DateTime.Now.ToString("MM-dd-yyyy") + "\\" + "Audit";

if (File.Exists(folder + "\\Audit- " + fname + ".xlsx"))
{
    File.Delete(folder + "\\Audit- " + fname + ".xlsx");
}
string fileName = folder + "\\Audit- " + fname + ".xlsx";
wb.SaveAs(fileName,
    Excel.XlFileFormat.xlWorkbookDefault, null, null,
    false, false, Excel.XlSaveAsAccessMode.xlNoChange,
    null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)

此代码可以正常工作8/10次,并抛出2次网络错误(找不到网络路径)。当远程路径引发此错误时,我在运行此代码的机器上使用run命令打开上述远程路径,并且能够正常访问它。关闭手动打开的文件夹并重新运行代码即可解决此问题。可能是什么问题?我在这里做错什么了吗? …

c# export-to-excel

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

允许用户使用 youtube API v3 将视频上传到我的频道

使用 Google API v3 php 库。我希望用户在我的 youtube 频道上上传视频。但是 oAuth 需要用户 google 登录并将视频上传到登录用户的 youtube 频道。

在使用 V3 api 之前,我们使用 V2 上传视频,效果很好。

global $youtube_api_key, $youtube_username, $youtube_password;

if(is_file('../uploader/ClassYouTubeAPI.php')){ include_once ('../uploader/ClassYouTubeAPI.php'); }
else{ include_once('ClassYouTubeAPI.php'); }

$obj = new ClassYouTubeAPI($youtube_api_key);
$result = $obj->clientLoginAuth($youtube_username, $youtube_password);
$result = $obj->uploadVideo($uploaded_file_name, $file_path, $title, $description, $privacy);
var_dump($result);
if (is_array($result) and count($result) and ! isset($result["is_error"])) {
    $youtube_file = str_replace($uploaded_file_name, $result["videoId"] . '.youtube', $file_path);
    $resource = fopen($youtube_file, 'w');
    fwrite($resource, "");


    fclose($resource);

    @unlink($file_path);

    return $result["videoId"];
} else {
    @unlink($file_path);
    return false;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有“用户 …

php youtube google-api youtube-api

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

控制 Windows 任务栏和开始菜单中固定 exe 的路径

我正在使用两个程序,“启动程序”(更新程序)和“主”程序。starter 更新并启动 main.

当固定到 Windows 任务栏或开始菜单时,程序必须表现良好。例如,用户应该能够:

  1. 启动“启动器”
  2. 将正在运行的“main”固定到任务栏
  3. 关闭程序
  4. 使用任务栏上的固定项目启动程序。

是否可以使固定的快捷方式直接指向“starter”而不是“main”?

我尝试使用通用 ID 对它们进行分组,但这不会影响固定的路径。

现在我正在“starter”进程中加载​​“main”。这按预期工作,但有一个问题,即所有更新都受到 .NET 版本的“starter”的限制,该版本现在已经很旧了,即 .NET 3.5。

c# taskbar

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