小编Tho*_*dax的帖子

在Java中用RSACryptoServiceProvider signHash方法的等效方法

我试图获得相当于以下C#方法:

public byte[] SignHash(byte[] btHash, string SN)
{
    string strSignature = string.Empty;
    X509Store x509store = null;
    x509store = new X509Store(StoreLocation.CurrentUser);
    x509store.Open(OpenFlags.ReadOnly);

    foreach (X509Certificate2 x509 in x509store.Certificates)
    {
        if (x509.SerialNumber.ToLower().Contains(SN.ToLower()))
        {
            byte[] btSignature = null;
            using (RSACryptoServiceProvider key = new RSACryptoServiceProvider())
            {

                key.FromXmlString(x509.PrivateKey.ToXmlString(true));
                return key.SignHash(btHash, CryptoConfig.MapNameToOID("SHA256"));
            }
            break;
        }
    }
    return null;

}
Run Code Online (Sandbox Code Playgroud)

用Java语言.实际上,我来到这里:

private static String SignHash(final byte[] btHash, String SerialNumber) throws Exception
{
    KeyStore ks = null;
    ks = KeyStore.getInstance("Windows-MY");
    ks.load(null, null);

    Boolean noValidCertificate = true;

    Enumeration<String> en = …
Run Code Online (Sandbox Code Playgroud)

c# java rsa signature

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

在Webview上禁用双击缩放/取消缩放

在Android上,我正在使用webview来显示由API flot设计的图表.

我正在使用此代码:

    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.graphique);

    // Get a reference to the declared WebView holder
    WebView webview = (WebView) this.findViewById(R.id.webView1);

    // Get the settings
    WebSettings webSettings = webview.getSettings();

    // Enable Javascript for interaction
    webSettings.setJavaScriptEnabled(true);

    // Make the zoom controls visible
    //webSettings.setBuiltInZoomControls(true);

    // Allow for touching selecting/deselecting data series
    webview.requestFocusFromTouch();

    // Set the client
    webview.setWebViewClient(new WebViewClient());
    webview.setWebChromeClient(new WebChromeClient());
    webview.setBackgroundColor(0);

    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);
    // Load the URL
    webview.loadUrl("file:///android_asset/graph.html");
Run Code Online (Sandbox Code Playgroud)

即使在开始时宽度和高度不同,图形也会正确显示并填充整个webview(感谢setLoadWithOverviewMode(true)和setUseWideViewPort(true)).

但是用户仍然可以通过双击来缩放和取消缩放图形.

我想阻止这个动作,我试图将我的webview设置为clickable = false,focusable = false和focusableintouchmode = false但它不起作用.

我也尝试了这个:

webview.getSettings().setBuiltInZoomControls(false);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.你有什么线索吗?

android zoom webview

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

对于MyActivity类型,未定义getFragmentManager()方法

因为我一直在使用我的代码,所以我使用了片段.

为此,我有一个活动使用片段标签调用片段:

FluxListFragment FLF = (FluxListFragment) getFragmentManager().findFragmentByTag(FRAG_LIST);
Run Code Online (Sandbox Code Playgroud)

但从今天开始,getFragmentManager似乎无法识别.它说 :

"The method getFragmentManager() is undefined for the type FluxMainActivity"
Run Code Online (Sandbox Code Playgroud)

问题来自构建目标吗?(我把Android 3.0)

这是代码:

public Class FluxMainActivity extends Activity {

@override
public void onCreate(Bundle saveInstanceState)
{
    super.onCreate();
    setContentView(R.layout.main);
    FluxListeFragment FLF = (FluxListeFragment)getFragmentManager().findFragmentByTag(FRAG_LISTE);    
}

}
Run Code Online (Sandbox Code Playgroud)

该方法应该链接到FluxListeFragment而不是FluxMainActivity!我认为演员是不正确的.

methods android fragment

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

有没有办法通过双击自动访问任何登录Logcat?

有没有办法通过双击自动访问任何登录Logcat?

实际上,当我的Android应用程序出现错误时,我可以双击该行说明

at com.myapp.mypackage$Class.function(File.java:117)
Run Code Online (Sandbox Code Playgroud)

通过双击此行,我会自动重定向到我的代码的相关行.

但是,当我尝试在另一个Log中生成相同的行时,例如:

Log.e("TAG", "at com.myapp.mypackage$Class.function(File.java:117)");
Run Code Online (Sandbox Code Playgroud)

双击不再起作用了......

有任何想法吗 ?

eclipse android line logcat

6
推荐指数
2
解决办法
659
查看次数

在Java中查找href链接和URL的内容

我想解析这个链接:

<a href="http://www.google.fr">Link to google</a>
Run Code Online (Sandbox Code Playgroud)

为了获得两个结果:

Link = "http://www.google.fr"
LinkName = "Link to google"
Run Code Online (Sandbox Code Playgroud)

我真的不知道怎么做,Java中是否有一个库可以解决这个问题?

提前致谢,

java href

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

HighCharts 3.0中有两个不同的阈值

使用HighCharts 3.0,现在可以指示高于和低于一个阈值的颜色.像这个例子:

http://jsfiddle.net/highcharts/YWVHx/

以下代码:

$(function () {
    $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=range.json&callback=?', function(data) {

        $('#container').highcharts({

            chart: {
                type: 'arearange'
            },

            title: {
                text: 'Temperature variation by day'
            },

            xAxis: {
                type: 'datetime'
            },

            yAxis: {
                title: {
                    text: null
                }
            },

            tooltip: {
                crosshairs: true,
                shared: true,
                valueSuffix: '°C'
            },

            legend: {
                enabled: false
            },

            series: [{
                name: 'Temperatures',
                data: data,
                color: '#FF0000',
                negativeColor: '#0088FF'
            }]

        });
    });

});
Run Code Online (Sandbox Code Playgroud)

是否可以使用第三种颜色的另一个阈值,例如:

具有双重阈值的图表

在此先感谢您的帮助.

highcharts threshold

6
推荐指数
2
解决办法
5883
查看次数

Edge中的Chrome原生消息的等价物

Microsoft的新浏览器Edge不支持NPAPI插件.

  • 谷歌浏览器开发了Chrome Native Messaging,以便与安装在计算机上的可执行文件进行交互,只要它在注册表中提供链接(适用于Windows操作系统).

  • Firefox似乎希望将来支持Chrome扩展程序,我们可以假设浏览器最终也会支持Chrome Native Messaging.

  • Internet Explorer将继续支持NPAPI直到2020年(据我所知).

  • 对于Edge,尚未开发出任何解决方案(或者还有一个?)

我愿意使用URL处理程序(myapplication:// mydata)来弥补这种不足.到目前为止有更好的方法吗?

https://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

我的目的是通过计算机上安装的HSM进行通信,并使用Crypto API接口或PKCS#11驱动程序来签署数据并将结果发送回浏览器.使用chrome本机消息传递扩展,它实际上运行良好.使用URL处理程序,我将能够将数据发送到可执行文件,但我不会得到结果,因此我将不得不考虑将结果发布到特定于Web的URL,但这可能导致安全漏洞我的观点.

提前致谢,

npapi chrome-native-messaging microsoft-edge

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

通过删除多个 RSA 文件而不触及 IIS 文件来清理我的 MachineKeys 文件夹

我目前正在使用应用程序实例化证书在我的服务器上运行 IIS。

通过执行此代码,例如:

X509Certificate2 myX509Certificate = new 
X509Certificate2(Convert.FromBase64String(byteArrayRawCertificate), passwordCertificate, 
X509KeyStorageFlags.Exportable | 
X509KeyStorageFlags.MachineKeySet | 
X509KeyStorageFlags.PersistKeySet);
Run Code Online (Sandbox Code Playgroud)

该代码工作正常。但是我在我的电脑上遇到了一个问题,在以下文件夹中:

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

3KB RSA 文件不断添加到该文件夹​​中。现在,我有超过一百万个这样的文件:

在此处输入图片说明

我想删除这些文件,但是:

  • IIS 使用其中之一来加密密码,或者可能用于其他目的,我不知道是哪一个,
  • 删除这么大的文件夹可能需要时间(比如几天)

    1. 有没有一种简单的方法可以不一次又一次地创建这些文件?(如果我在实例化我的证书时没有提到“MachineKeySet”,这将不起作用)
    2. 如果没有,有没有办法在不删除 IIS 文件的情况下删除创建的文件?
    3. 有没有办法检测 IIS 使用了哪些文件?

在此先感谢您的帮助。

iis rsa x509certificate2

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

API WebExtensions Firefox:Chrome 未定义

我实际上正在尝试在我的夜间版 Firefox(今天发布)上使用 WebExtensions API。我之前开发过一个 Chrome Web 扩展,它在 Chrome 上的表现就像一个魅力。

我成功安装了我的扩展。我按照此链接执行此操作:https ://developer.mozilla.org/en-US/Add-ons/WebExtensions/Packaging_and_installation

扩展已正确安装,但我似乎无法使事情正常工作。

我不断出现以下错误“chrome 未定义”。我错过了什么 ?(我注意到这里给出的示例: https: //github.com/mdn/webextensions-examples显示了如何使用扩展,并且使用“chrome.*”没有任何问题。

提前致谢,

google-chrome-extension firefox-addon-webextensions

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

如何从Java正确生成JSONArray?

我正在尝试使用Java生成那种JSON字符串(目的:用于Android的flot):

{
"data": [[1999, 1], [2000, 0.23], [2001, 3], [2002, 4], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]]
}
Run Code Online (Sandbox Code Playgroud)

为此,我正在使用JSONArray:

JSONArray jsonArray = new JSONArray();
jsonArray.put("[1999, 1]");
jsonArray.put("[2000, 0.23]");
jsonArray.put("[2001, 3]");
...
Run Code Online (Sandbox Code Playgroud)

但我得到的唯一结果是:

["[1999, 1]","[2000, 0.23]","[2001, 3]",..."[2008, 0.9]"]
Run Code Online (Sandbox Code Playgroud)

如何删除括号之间的引用?我可以输入数组的项目吗?

提前致谢!

java arrays json

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