- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 Android Studio如何解决Duplicate class androidx.databinding.Bindable found in modules……
新安装的Android Studio第一次编译一个项目时,出现很多Duplicate class的错误:Duplicate class androidx.databinding.Bindable found in modules databinding-common-7.0.3 (androidx.databinding:databinding-common:7.0.3) and jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseL
2022-04-24 15:47:50 3044
原创 Java与CSP数据兼容之三:Java兼容CSP的DES/3DES密钥数据和密文
介绍C++和Java之间兼容DES算法加密/解密数据的注意事项。
2015-10-29 14:50:47 1620
原创 Java与CSP数据兼容之二:Java兼容CSP导出的RSA私钥数据
介绍在Java语言中三种创建RSA私钥对象的方法,以及实现RSA私钥从C++到Java的数据格式转化。
2015-10-27 15:40:50 1824
原创 Java与CSP数据兼容之一:Java兼容CSP导出的RSA公钥数据
介绍在Java语言中三种创建RSA公钥对象的方法,以及实现RSA公钥从C++到Java的数据格式转化。
2015-10-27 11:01:14 2741 2
原创 使用CryptoAPI获取证书扩展属性之四:“CRL分发点”和“颁发机构信息访问”
介绍如何使用CryptoAPI解析CA证书、获取“CRL 分发点”和“颁发机构信息访问”扩展属性
2015-09-29 09:26:03 3553
原创 通过OpenSSL获取证书扩展属性之三:“颁发机构密钥标识”和"使用者密钥标识"
介绍如何使用Openssl解析CA证书、获取“颁发机构密钥标识”和“使用者密钥标识”扩展属性。
2015-09-22 14:07:18 7271
原创 通过OpenSSL获取证书扩展属性之二:“密钥用法”和"增强型密钥用法"
介绍如何使用Openssl解析CA证书、获取“密钥用法”和“增强型密钥用法”扩展属性。
2015-09-10 15:31:00 11548
原创 通过OpenSSL解析X509证书基本项
通过OpenSSL库解析X509证书基本项,比如版本号、序列号、颁发者、使用者、有效期、公钥算法、证书用途等。
2015-07-08 09:53:50 65621 10
原创 CSP:使用CryptoAPI解析X509证书基本项
使用CryptoAPI解码X509证书的基本项,比如版本、序列号、公钥算法、证书用途、颁发者、使用者、有效期等。
2015-07-07 16:12:30 8387 3
原创 CSP:使用CryptoAPI解码X509证书内容
通过CryptoAPI解码X509证书文件,包括*.cer/*.p7b/*.pfx格式文件。
2015-06-29 14:35:41 5098
原创 Windows下USB磁盘开发系列四:SetupDiEnumDeviceInterfaces()返回ERROR_NO_MORE_ITEMS 259错误代码的原因
在调用API SetupDiEnumDeviceInterfaces()查询USB设备接口的时候,遇到了259的错误代码:ERROR_NO_MORE_ITEMS。开始不得其解,后来仔细察看了相关的msdn,发现是我调用SetupDiGetClassDevs()的参数使用错了。定义如下:HDEVINFO SetupDiGetClassDevs( _In_opt_ const GUID
2013-11-15 11:30:43 7711
原创 Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息
前面我们介绍了枚举系统中的U盘盘符、以及获取USB设备的信息。有个时候我们不仅仅需要获取U盘盘符(路径),而且需要获取该U盘的硬件信息,比如厂商、friendly name、描述等等。那么我们可以通过前面两个方法,把U盘盘符和设备信息匹配起来吗?答案是肯定的,下面介绍具体的实现方法。 具体方法如下:1,获取U盘盘符(路径);2,对U盘路径调用CreateFile()获取U盘句柄;
2013-11-14 16:58:39 4277 1
翻译 用实例讲解RSA加密算法(精)
RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法。RSA公开密钥算法的发明人(从左到
2013-11-14 16:04:25 3335
原创 Windows下USB磁盘开发系列二:枚举系统中所有USB设备
上篇 《Windows下USB磁盘开发系列一:枚举系统中U盘的盘符》介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘)。主要调用的API如下:1,调用SetupDiGetClassDevs()获取指定设备类型的句柄;2,调用SetupDiEnumDeviceInfo()枚举设备信息;3,调用SetupDiGetDeviceRegistry
2013-11-14 16:00:35 6705 1
原创 Windows下USB磁盘开发系列一:枚举系统中U盘的盘符
有个时候我们需要区分系统磁盘中,哪些是U盘,这样我们在访问的时候可以区别对待。具体方法如下:1,调用GetLogicalDrives()返回系统盘符标记位API GetLogicalDrives()将返回一个DWORD类型的标记值,将其转换成二进制之后,为1的位标识对应的盘符在系统中存在。比如返回值为:11100,则表示盘符C:D:E:在系统中存在,因为最低位对应盘符A。2,调用Get
2013-10-25 16:43:06 5096 1
原创 ffmpeg解码音频数据时,进行重采样(即改变文件原有的采样率)
我们使用ffmpeg解码音频的时候,往往需要改变原音频的采样率,即需要重采样。比如一音乐文件的采样率22050,而播放端往往是固定的采样率,比如44100。在这种情况下,如果把解码出来的数据直接播放,会产生快进的效果。这个时候就需要对解码出来的数据作一次重采样,将数据转化为44100采样率下的数据,才能正确播放。ffmpeg提供了一组用来重采样的API,主要如下:/** * In
2013-10-18 16:27:35 12796 1
原创 ffmpeg解码audio文件的时候,实现seek功能(即解码指定时间位置的数据)
ffmpeg解码的时候,往往需要seek功能,直接跳到所关心的时间位置进行解码。比如制作播放器的时候,可以seek到任意位置播放。我们可以通过ffmpeg API av_seek_frame()来定位解码的位置,该函数能根据设定的时间,定位到该时间对应的帧位置。随后我们继续使用API av_read_frame()/avcodec_decode_audio3()读取帧、并解码。需要注意的是
2013-10-18 16:00:05 7385 1
原创 使用ffmpeg解码音频文件到PCM格式
最近忙于使用ffmpeg播放音乐文件的项目,现将开发经验总结如下:一、解码音乐文件的大致流程如下:1,打开音乐文件,调用av_open_input_file()2,查找audio stream,调用av_find_stream_info()3,查找对应的decoder,调用avcodec_find_decoder()4,打开decoder,调用avcodec_open()5
2013-10-18 15:46:12 8124 2
原创 Ubuntu(linux) 下编译ffmpeg
ffmpeg是基于Linux开发的,所以在linux系统(Ubuntu)上编译ffmpeg其实很简单。下面介绍如何在Ubuntu上编译基本的ffmpeg库(不带其他扩展的解码编码库)。1、准备ffmpeg源代码方法很多,就不多说了,我现在用的是ffmpeg-0.8.7。最好把源代码文件夹更名为ffmpeg,然后放到自己的工作目录下。2、配置ffmpegffmpeg很
2013-10-14 14:03:13 3423
原创 Android:在Eclipe中使用NDK编译C/C++工程
Android开发中,如果使用C/C++开发JNI,必须使用Andriod NDK编译成*.so文件,这样Android的java应用层才能调用。使用NDK编译C/C++代码,网上的通常做法是使用命令行(或者终端)输入编译命令:NDK-build来实现的。这种做法对初学者理解NDK很有帮助,但是当我们熟悉NDK之后,还每次都用命令行编译就显得有点繁琐了。鉴于大多数Android开发都使用E
2013-09-29 16:11:14 3376
原创 解决Eclipse C/C++中"Unresolved inclusion" 的错误提示
在Java JNI或者Android NDK中,C或者CPP源码中引入header files的时候会出现Unresolved inclusion: 虽然不影响整个源码的编译,但是对于追求干净完美的人来说看了总会觉得有不爽,怎样解决这个呢?原因是在Eclipse的编辑环境当中没有找到相应的header files,那么解决办法也很简单,就是把header files引入进来操作步骤
2013-09-23 13:35:45 14962 1
原创 Ubuntu下,在Eclipse中使用JNI调用ffmpeg
Android的应用层开发大部分还是采用JAVA,如果想使用ffmpeg库,就必须利用JNI,使得Java可以调用C/C++的库。JNI其实就是定义的一个转接接口,可以让Java的代码调用C/C++的库,我的理解有点像C#中调用C/C++的DLL需要一个proxy工程一样。编译好的ffmpeg库文件名为:libffmpeg.so,它是一个普通的C/C++动态链接库。下面以libffmpeg.l
2013-09-16 16:37:49 3917
原创 Eclipse中在线安装ADT失败,几种其他解决方法
在Eclipse中安装ADT是Android开发同鞋们的必备准备工作,传统的做法是通过Eclipse中Help菜单->Install New Software,打开Plugin安装对话框.然后在Local栏输入ADT的在线安装URL:http://dl-ssl.google.com/android/eclipse/ 或者 https://dl-ssl.google.com/android/e
2013-09-16 11:00:59 8209 1
原创 Win7下,获取文件夹C:\Users 大小时遇到的问题
最近在负责数据备份产品的时候遇到一个问题:在Win7系统下,用户选择“C:\Users” 作为备份源,发现产品UI上显示的文件夹大小和负责备份的Service进程里的文件夹大小不一致。起先,我怀疑是获取文件夹大小的方法不对,但是查看代码之后发现代码是一样的。都是枚举文件夹和文件大小,然后累加。后来才发现,UI进程获取该文件夹大小的时候,很多目录不能访问;而Service进程能访问该目录
2013-03-27 10:35:55 1982
原创 几种常见的程序控制邮件程序的方法
本文转贴于本人blog:singlerblog.mblogger.cn最近接了个单子,是个不大的应用程序,有一个功能是要求程序能启动邮件发送程序,并在邮件正文部分自动填入一些图片和文字。这方面我以前没有做过,查了一些资料最后实现了这个功能。现在我把程序控制外部邮件发送程序的常用方法总结如下:一、使用mailto协议优点:使用简单,能自动运行系统默认的邮件程序。缺点:功能简单,不能添加附件,
2006-07-11 16:55:00 2951 1
原创 Tga图片格式分析以及程序实现
本文转自本人Blog: Singlerblog.mblogger.cn继位图之后,我们来看看Tga图片的格式,以及程序实现。一、 文件格式Tga常见的格式有非压缩RGB和压缩RGB两种格式,其他格式的我们在这里不做讲述。文件的第三个Byte位作为标记:2为非压缩RGB格式,10为压缩RGB格式。它们的具体格式如下:1、非压缩格式图片类型:2-非压缩RGB格式
2006-06-10 11:56:00 11270 2
智能ic卡及智能密码钥匙密码应用接口数据格式规范(COS命令格式定义)
2015-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人