小编Rob*_*oux的帖子

Android onRequestPermissionsResult 实用之super

当我使用时onRequestPermissionsResult(),保留 super 方法有用吗?

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
Run Code Online (Sandbox Code Playgroud)

如果我们看一下 super 方法

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
        @NonNull int[] grantResults) {
    mFragments.noteStateNotSaved();
    int index = (requestCode >> 16) & 0xffff;
    if (index != 0) {
        index--;

        String who = mPendingFragmentActivityResults.get(index);
        mPendingFragmentActivityResults.remove(index);
        if (who == null) {
            Log.w(TAG, "Activity result delivered for unknown Fragment.");
            return;
        }
        Fragment frag = mFragments.findFragmentByWho(who);
        if (frag == null) {
            Log.w(TAG, "Activity result …
Run Code Online (Sandbox Code Playgroud)

android android-permissions

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

C#和Java中的SHA512是不同的

在C#和java上有这样的代码,sha512在它们中有所不同,是否有可能以某种方式使结果sha512相同?我理解BaseConverter中的问题,Java中的模拟Base64?试着

Base64.getEncoder().encodeToString(str);
Run Code Online (Sandbox Code Playgroud)

但是由于getEncoder()我得到了一个错误.我需要一个库吗?

C#中的代码:

public string Hash(string str)
{
      string resultStr = String.Empty;
      byte[] data = new UTF8Encoding().GetBytes(str);
      byte[] result;

      SHA512 shaM = new SHA512Managed();
      result = shaM.ComputeHash(data);
      resultStr = ReverseString(BitConverter.ToString(result).ToLower().Replace("-", String.Empty));

      return resultStr.Substring(5, 25);
}       

public static string ReverseString(string s)
{
      char[] charArray = s.ToCharArray();
      Array.Reverse(charArray);
      return new string(charArray);
}
Run Code Online (Sandbox Code Playgroud)

Java中的代码:

public String Hash(String str) {
    try {
        MessageDigest digest = MessageDigest.getInstance("SHA-512");
        digest.update(str.getBytes("UTF-16LE"));
        byte messageDigest[] = digest.digest();
        StringBuffer hexString = new StringBuffer();
        for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c# java sha512 visual-studio

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

标签 统计

android ×1

android-permissions ×1

c# ×1

java ×1

sha512 ×1

visual-studio ×1