https://github.com/dchest/tweetnacl-js。
我有一个项目,团队希望在ID上显示编码为base64的密钥对。当然,他们不想只显示密钥,而是存储密码的加密版本。像这样......
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Drinks extends Activity{
TextView drinkHolder;
public static String drinkType = Bar.setDrinkType;
String drinkTestHolder="";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drinks);
drinkTestHolder = drinkType;
drinkHolder = (TextView)findViewById(R.id.drinkTest);
//String barNameHolder = "@string/"+drinkType;
//int textInt1 = getResources().getIdentifier(barNameHolder, null, getPackageName());
drinkHolder.setText(drinkTestHolder);
}
}
我被告知不要使用CryptoJS。有没有更好的方法来使用tweetnacl?
感谢。
答案 0 :(得分:0)
tweetnacl有一个名为secretbox的对称加密实现。您可以使用AES加密所需的任何内容,包括密钥。
伪代码:
var smkey = stringToUint8Array(keystring); // must be 32 bytes, pad it if you have to
var nonce = nacl.randomBytes(nacl.box.nonceLength);
var encryptedSecretKey = nacl.secretbox(secretKey, nonce, smkey);
然后,您可以将加密的Uint8Array转换为string或base64并使用它。