小编tim*_*yjc的帖子

用盐腌SHA-512哈希暴力多长时间?(提供盐)

这是Java中的算法:

public String getHash(String password, String salt) throws Exception {
    String input = password + salt;
    MessageDigest md = MessageDigest.getInstance(SHA-512);
    byte[] out = md.digest(input.getBytes());
    return HexEncoder.toHex(out);
}
Run Code Online (Sandbox Code Playgroud)

假设盐是已知的.我想知道在密码是字典单词时以及它不是字典单词时暴力的时间.

hash cryptography salt sha brute-force

54
推荐指数
3
解决办法
9万
查看次数

检查自定义字体是否可以显示字符

我有一个显示框字符的自定义字体.我使用的字体显然不支持所有语言.我想检查我要显示的字符串是否可以通过我的自定义字体显示.如果它不能,那么我想使用标准的Android字体(我知道可以显示字符).我找不到一种方法来检查我的Typeface是否可以显示特定的字符串.我相信我已经看到了一种方法可以解决这个问题.谁知道?

android custom-font typeface

11
推荐指数
2
解决办法
3873
查看次数

你如何使用MediaControllerCompat来控制当前的玩家?

我的应用不是媒体播放器.我只想使用新的MediaControllerCompat类来控制当前的媒体播放器.目前我正在使用MediaSessionManager但是想要升级到新的compat类.

当我没有令牌或MediaSessionCompat来实例化它时,如何实例化MediaControllerCompat类?我希望得到一些示例代码.

android android-music-player mediacontroller android-mediasession

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

未找到ActionBarSherlock ForceOverflow资源

我升级到版本4.2,发现我的旧代码没有编译,因为它似乎已删除ForceOverflow父主题.

谷歌搜索此问题后,似乎故意删除它以维护设备一致的菜单按钮.

我确实理解使用物理菜单按钮的论点,但我只是不同意它......再加上那些旧的菜单太难看了.

我真的不希望用户说他们无法访问以前的功能(这毕竟是菜单按钮被移动到屏幕上可见的原因),那么我的选择是什么?这将在未来的版本中更改吗?我是否必须坚持使用以前版本的ABS并处理旧版ABS库中的其他一些错误,这些错误在最近的版本中得到修复?有什么工作吗?

android actionbarsherlock

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

打开全局搜索作为叠加层

我正在编写一个启动器,并希望能够在Google App中将搜索作为叠加而不是全屏打开.

到目前为止,我只找到了一种在Google App全屏幕中打开搜索的方法,如下所示(取自AOSP Launcher3源代码):

 public static boolean openSearch(Context context) {

        SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
        ComponentName globalSearchActivity = searchManager.getGlobalSearchActivity();
        if (globalSearchActivity == null) {
            Timber.w("No global search activity found.");
            return false;
        }
        Intent intent = new Intent(android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setComponent(globalSearchActivity);
        Bundle appSearchData = new Bundle();
        appSearchData.putString("source", "launcher-search");

        intent.putExtra(android.app.SearchManager.APP_DATA, appSearchData);

        intent.putExtra(android.app.SearchManager.QUERY, "");
        intent.putExtra(android.app.SearchManager.EXTRA_SELECT_QUERY, true);
        try {
            context.startActivity(intent);
            return true;
        } catch (ActivityNotFoundException ex) {
            Timber.w("Global search activity not found: %s", globalSearchActivity);
            return false;
        }

    }
Run Code Online (Sandbox Code Playgroud)

我知道这是可能的,因为像Nova和Action Launcher这样的其他发射器设法做到了......

android android-searchmanager android-launcher

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

SGS2上的清除剪贴板(api 10)

我正在使用三星Galaxy S2并尝试以下方法:

import android.text.ClipboardManager;
ClipboardManager clipboard = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(null);
Run Code Online (Sandbox Code Playgroud)

clipboard.setText("");
Run Code Online (Sandbox Code Playgroud)

它没用.想法?

clipboard android

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

裁剪位图首先不读取整个位图

我有一个非常大的图像,我只想显示一个显示大小的部分(没有缩放),该部分应该只是图像的中心.因为图像非常大,我无法将整个图像读入内存然后裁剪.这是我到目前为止所做的,但它会为大图像提供OutOfMemory.另外我不认为inSampleSize适用,因为我想裁剪图像,而不是降低分辨率.

Uri data = getIntent().getData();
InputStream is = getContentResolver().openInputStream(data);
Bitmap bitmap = BitmapFactory.decodeStream(is, null, null);
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒?

java android crop bitmap

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

AES Cipher没有拿起IV

我试图使用带有AES的IV,以便加密的文本是不可预测的.但是,加密的十六进制字符串始终相同.

我实际上尝试了一些尝试通过将一些额外的参数传递给cipher init调用来添加一些随机性的方法:

1)手动IV生成

byte[] iv = generateIv();
IvParameterSpec ivspec = new IvParameterSpec(iv);
Run Code Online (Sandbox Code Playgroud)

2)要求密码生成IV

AlgorithmParameters params = cipher.getParameters();
params.getParameterSpec(IvParameterSpec.class);
Run Code Online (Sandbox Code Playgroud)

3)使用PBEParameterSpec

byte[] encryptionSalt = generateSalt();
PBEParameterSpec pbeParamSpec = new PBEParameterSpec(encryptionSalt, 1000);
Run Code Online (Sandbox Code Playgroud)

所有这些似乎对加密文本没有影响....帮助!

我的代码:

package com.citc.testencryption;

import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class Main extends Activity {

 public static final int SALT_LENGTH = 20;
 public static final int PBE_ITERATION_COUNT = 1000;

 private static final String RANDOM_ALGORITHM = …
Run Code Online (Sandbox Code Playgroud)

android aes salt initialization-vector

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

如何通过双击来放大和缩小TouchImageView?

我正在修改TouchImageView(https://github.com/MikeOrtiz/TouchImageView/issues),以便在双击时进行放大和缩小.我按照这篇文章开始 - TouchImageView是如何工作的?并添加了手势检测.

现在我必须实现放大和缩小,我不知道该怎么做.这是我到目前为止的代码,未实现zoomIn和zoomOut方法.有人知道怎么做吗?另外我注意到捏缩放并没有真正缩放到你捏的位置,所以我希望这可以使其表现得更像gallery3D捏缩放.谢谢.

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
import android.view.View;
import android.widget.ImageView;

public class TouchImageView extends ImageView {

private static final String TAG = TouchImageView.class.getSimpleName();

Matrix matrix = new Matrix();

// We can be in one of these 3 states
static final int NONE = 0;
static final int DRAG = 1;
static final int ZOOM = 2;
int mode = …
Run Code Online (Sandbox Code Playgroud)

android zoom imageview

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

AppCompat MODE_NIGHT_AUTO 不工作

AppCompatDelegate.MODE_NIGHT_AUTO 没有更新我现有的活动,我不知道为什么。

我动态地允许用户更改夜间模式。如果用户将模式更改为自动,我会设置默认的夜间模式,然后重新创建活动:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
recreate();
Run Code Online (Sandbox Code Playgroud)

如果我更改为 MODE_NIGHT_YES 或 MODE_NIGHT_NO,它会按预期工作。如果我更改为 MODE_NIGHT_AUTO,它会转到正确的暗/亮主题,但是在从白天到黑夜的转换后它无法更新活动。测试这个有点糟糕,因为我必须等待日出/日落(编辑:显然我可以手动更改设备上的时间而不必等待......只要不使用位置权限)。

我是否必须手动检查 onresume 中的夜间模式标志并手动更新现有活动的资源,还是我做错了什么?如果我旋转设备并在日落后重新创建活动,则正确选择了深色主题,但在旋转之前,它仍将显示浅色主题。

支持 lib 23.4.0,Android 6.0 版。

android android-appcompat

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

如何创建具有透明背景和阴影的形状,但阴影不应在形状轮廓后面可见?

这里有点类似的问题,但答案是只删除高程和阴影......不是我想要的:Android CardView with unique border when transparent

我想要的是 Pixel Launcher 搜索栏中显示的内容...即具有半透明背景和阴影的形状,但阴影与白色形状不重叠(最终会使其看起来灰色) . 我基本上想要一个阴影,但中间有一个洞,我的形状是......

这就是我想要实现的(底部的搜索栏): 我想要的是

这是我尝试过的,但您可以从附图中看到,灰色阴影是从半透明的白色背景中穿过的。

活动_main.xml

    <FrameLayout
      android:layout_width="120dp"
      android:layout_height="120dp"
      android:background="@drawable/rectangle"
      android:elevation="8dp" />
Run Code Online (Sandbox Code Playgroud)

矩形文件

<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <corners android:radius="4dp" />
  <solid android:color="#aaffffff" />
</shape>
Run Code Online (Sandbox Code Playgroud)

这就是我的尝试: 我失败的尝试

你可以看到,即使我的形状是白色背景上的半透明白色,它也会因为下面的阴影而变成灰色,这不是我想要的。

我也尝试过使用 View#setOutlineProvider 但没有成功。

我也试过玩https://github.com/harjot-oberai/MaterialShadows

如果可以避免的话,我不想用 9patch 图像来做。

android transparent shadow

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

在小部件中动态设置ImageView的圆角?

我有一个带有配置活动的小部件,用户可以从颜色选择器中选择小部件背景的颜色.我正在使用下面的方法,我有一个ImageView并创建一个我在ImageView上动态设置的位图.

http://konsentia.com/2011/03/dynamically-changing-the-background-color-in-android-widgets/

public static Bitmap getBackground (int bgcolor)
{
try
    {
        Bitmap.Config config = Bitmap.Config.ARGB_8888; // Bitmap.Config.ARGB_8888 Bitmap.Config.ARGB_4444 to be used as these two config constant supports transparency
        Bitmap bitmap = Bitmap.createBitmap(2, 2, config); // Create a Bitmap

        Canvas canvas =  new Canvas(bitmap); // Load the Bitmap to the Canvas
        canvas.drawColor(bgcolor); //Set the color

        return bitmap;
    }
    catch (Exception e)
    {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后

remoteViews.setImageViewBitmap(R.id.bgcolor, getBackground(bgcolor));
Run Code Online (Sandbox Code Playgroud)

我想做的是让用户也选择他们是否想在小部件上使用圆角.是否可以动态更改颜色以及窗口小部件是否具有圆角?从我看过的四舍五入的例子来看,您需要知道视图的尺寸,以便在设置位图之前可以对边缘进行舍入.我不认为这可能来自一个小部件虽然......任何想法?

android widget imageview

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