小编Tom*_*cik的帖子

Android,从文件计算SHA-1哈希,最快的算法

我在Android上遇到SHA-1性能问题.在C#中,我得到大约3秒的计算哈希,Android的相同计算大约需要75秒.我认为问题在于从文件中读取操作,但我不确定如何提高性能.

这是我的哈希生成方法.

private static String getSHA1FromFileContent(String filename)
    {

        try
        {
            MessageDigest digest = MessageDigest.getInstance("SHA-1");
            //byte[] buffer = new byte[65536]; //created at start.
            InputStream fis = new FileInputStream(filename);
            int n = 0;
            while (n != -1)
            {
                n = fis.read(buffer);
                if (n > 0)
                {
                    digest.update(buffer, 0, n);
                }
            }
            byte[] digestResult = digest.digest();
            return asHex(digestResult);
        }
        catch (Exception e)
        {
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何想法如何才能提高性能?

hash performance android file sha

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

VimScript:将局部变量的值传递给编辑命令

我编写了一个简单的函数来调用edit命令,其路径后跟给定的文件名.

但是,它看起来像edit l:path调用命名文件"l:path"而不是l:path变量值.我想这是一个微不足道的问题,但很难获得在函数中调用edit命令的搜索结果,而不是来自vim编辑器.

下面的代码表明L的合适值:路径当我改变editechon.

command! -nargs=1 E call EditAtCurrentPath(<f-args>)

function! EditAtCurrentPath(filename)
    let l:path=expand('%:p:h').'/'.a:filename
    edit l:path
endfunction
Run Code Online (Sandbox Code Playgroud)

vim

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

设置CMSampleBuffer样本附件(Swift)

我正在尝试为kCMSampleAttachmentKey_DisplayImmediately我的每个样本设置CMSampleBuffer.

到目前为止,我已经试过越来越词典(Dictionary<NSObject, AnyObject>,NSDictionary,CFDictionary),并调用CMSetAttachment上都CMSampleBuffer和它的附件.

用于检索我使用的附件CMSampleBufferGetSampleAttachmentsArray.

任何想法如何在Swift中设置这些标志?

h.264 ios swift

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

Android AES和init矢量

我有AES加密和解密的问题:我可以完全改变我的IV,但我仍然可以解码我的数据.

public static final byte[] IV = { 65, 1, 2, 23, 4, 5, 6, 7, 32, 21, 10, 11, 12, 13, 84, 45 };
public static final byte[] IV2 = { 65, 1, 2, 23, 45, 54, 61, 81, 32, 21, 10, 121, 12, 13, 84, 45 };
public static final byte[] KEY = { 0, 42, 2, 54, 4, 45, 6, 7, 65, 9, 54, 11, 12, 13, 60, 15 };
public static final byte[] KEY2 = { …
Run Code Online (Sandbox Code Playgroud)

encryption android initialization aes

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

标签 统计

android ×2

aes ×1

encryption ×1

file ×1

h.264 ×1

hash ×1

initialization ×1

ios ×1

performance ×1

sha ×1

swift ×1

vim ×1