如何在不使用文件的情况下从命令行使用OpenSSL生成SHA-512哈希?
我试过这个
echo "password" | openssl dgst -sha512
Run Code Online (Sandbox Code Playgroud)
但哈希看起来不对(与http://hash.online-convert.com/sha512-generator相比).
我正在用C语言编写OpenSSL库.
如何使用md5计算大文件的哈希值?
据我所知,我需要将整个文件作为char数组加载到RAM中,然后调用hash函数.但是如果文件大约是4Gb呢?听起来不错.
解决:感谢askovpen,我发现了我的错误.我用过
while ((bytes = fread (data, 1, 1024, inFile)) != 0)
MD5_Update (&mdContext, data, 1024);
Run Code Online (Sandbox Code Playgroud)
不
while ((bytes = fread (data, 1, 1024, inFile)) != 0)
MD5_Update (&mdContext, data, bytes);
Run Code Online (Sandbox Code Playgroud) 我写了一个小活动,可以在两个视图之间切换.现在我想添加一些动画(淡入/淡出效果).任何人都能解释我该怎么做对吗?
我自己尝试这样做的工作有点儿(如果我会非常快地点击按钮,我的应用程序会冻结).我使用下面列出的代码:
public class WelcomeActivity extends Activity {
private boolean isLogin = false;
private String KEY_IS_LOGIN = "KEY_IS_LOGIN";
private Animation anim_fadein;
private RelativeLayout welcome, login;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
welcome = (RelativeLayout)getLayoutInflater().inflate(R.layout.activity_welcome_menu, null);
login = (RelativeLayout)getLayoutInflater().inflate(R.layout.activity_welcome_login, null);
anim_fadein = AnimationUtils.loadAnimation(this, R.anim.anim_fadein);
if (savedInstanceState != null)
isLogin = savedInstanceState.getBoolean(KEY_IS_LOGIN, false);
if (isLogin)
setContentView(login);
else
setContentView(welcome);
}
@Override
public void onBackPressed() {
if (isLogin) {
setContentView(welcome);
welcome.startAnimation(anim_fadein);
isLogin = false;
} else {
super.onBackPressed();
}
}
@Override
public void …Run Code Online (Sandbox Code Playgroud) 假设我PeerConnection在 Wifi 上建立了一个。如何在不中断会话的情况下优雅地将网络切换到移动设备?
我显然可以停止一切并重新协商会议,但我不认为这是解决方案。
也有iceConnectionReceivingTimeout和iceBackupCandidatePairPingInterval参数,这似乎正好是专为这种情况下,但不幸的是我无法找到如何从分开使用它们任何提示这个职位。显然只是设置它们并没有做任何事情。
如何在Android中测量空间界限?
我的意思是,以下内容:
Rect bounds = new Rect();
paint.getTextBounds(String.valueOf(' '), 0, 1, bounds);
return bounds.width();
Run Code Online (Sandbox Code Playgroud)
返回0。
我正在开发一个相当简单的应用程序.该应用程序底层有以下代码:
...
mRootContentView = getWindow().getDecorView().findViewById(android.R.id.content));
int[] screenDimensions = AndroidUtils.getScreenDimesions(getContext());
bitmap = Bitmap.createBitmap(screenDimensions[0], screenDimensions[1], Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
mRootContentView.layout(0, 0, screenDimensions[0], screenDimensions[1]);
mRootContentView.draw(c);
...
Run Code Online (Sandbox Code Playgroud)
毫无疑问,您已经猜到了,它获得了整个当前活动的"屏幕截图".
在android v 4.4.2(KitKat)发布之后,我在ACRA报告中遇到了一个奇怪的异常,告诉我:
java.lang.IllegalArgumentException: bitmap size exceeds 32bits
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:809)
at android.graphics.Bitmap.createBitmap(Bitmap.java:769)
at android.view.View.buildDrawingCache(View.java:13608)
at android.view.View.draw(View.java:14154)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at net.simonvt.menudrawer.MenuDrawer.dispatchDraw(MenuDrawer.java:665)
at android.view.View.draw(View.java:14468)
at android.view.View.draw(View.java:14350)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at android.view.View.draw(View.java:14468)
at android.widget.FrameLayout.draw(FrameLayout.java:472)
. . .
Run Code Online (Sandbox Code Playgroud)
此异常仅在KitKat设备上引发,例如nexus 7和nexus 5.
编辑
我也试过这个:
mRootContentView.setDrawingCacheEnabled(true);
mRootContentView.buildDrawingCache();
bitmap = mRootContentView.getDrawingCache();
Run Code Online (Sandbox Code Playgroud)
什么都没有改变.
在android中,你可以在扬声器模式下播放和录制声音:setSpeakerphoneOn(boolean on).
在这种情况下,系统将使用扬声器和麦克风的特殊"响亮"记录配置(我不确定它是如何正确调用的).
免提模式与任何耳机/耳机都不兼容,因此我不会随身携带.耳机没关系.但是对于耳机(没有麦克风),我必须直接对着手机的麦克风说话,因为录音电平远低于扬声器模式.
我的问题是,是否有办法将声音输出到耳机并使用上述"响亮"记录配置录制?
我正在使用Qt Creator 2.4.1,我遇到了一个非常烦人的问题.
当我调试我的项目时,我经常听到错误:
:-1: error: cannot open output file debug\qtrbdclient.exe: Permission denied
:-1: error: collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
解决它的唯一方法是关闭Qt Creator并再次运行它.我真的不明白为什么它会一次又一次地发生.
我是Unix shell脚本的新手,想要写一些小脚本的帮助.
我为我的脚本定义了以下概要:
install.sh [-h|-a path|[-k path][-f path][-d path][-e path]]
Run Code Online (Sandbox Code Playgroud)
即,用户可以请求一些help (-h),将所有内容安装到指定的位置(-a path),或者将一个或多个组件(-k, -f, -d -e)安装到适当的路径.如果没有参数,则应显示帮助.
提前致谢.
如何合并两个BehaviorSubjects,使它们表现得像一个BehaviorSubject?
我有这样的事情:
class Solution {
public static void main(String[] args) {
Subject<List<Integer>> left = BehaviorSubject.createDefault(Arrays.asList(1, 2, 3));
Subject<List<Integer>> right = BehaviorSubject.createDefault(Arrays.asList(4, 5, 6));
Single<List<Integer>> merged = left.mergeWith(right).reduce(new ArrayList<Integer>(), (l, r) -> {
List<Integer> merged1 = new ArrayList<>(l.size() + r.size());
merged1.addAll(l);
merged1.addAll(r);
return merged1;
});
merged.subscribe(System.out::println);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望得到一些东西[1, 2, 3, 4, 5, 6],但subscribe什么都不打印.