- 最近项目老大发话啦,我们app要做加密,那用什么好呢?老大说不用问啦,客户都说啦,要用openssl,你研究下,卧槽(此处省略2000字),我都没有听说过!没办法,搞吧
- 接下啦我就开始看各种文档,这玩意是什么东西,去大牛博客看,好吧是个很不错的加密工具,前几天看锤子发布会,老罗把发布会门票挣得100多万捐给两个开源机构,其中一个就是openssl,这玩意这么屌
- 我是搞java后台的,和andriod有什么关系,总不能不测试吧,硬着头皮我又去写andriod,幸亏我之前写过swing项目,还是很简单的吗?
openssl每次加密的结果都是不一样的,客户端只需要公钥就可以啦 ,怎么生成密钥,公钥 我就不说啦,百度到处都是
以上是项目结构
下面我就直接拷贝代码
1,activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.suiyantao.myapplication.MainActivity">
<Button
android:text="解密"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:layout_alignBaseline="@+id/button"
android:layout_alignBottom="@+id/button"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="49dp"
android:layout_marginEnd="49dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:layout_above="@+id/button2"
android:id="@+id/editText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:text="加密"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_marginStart="14dp"
android:id="@+id/button"
android:layout_marginTop="47dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="match_parent"
android:layout_height="100dp"
android:inputType="textMultiLine"
android:ems="10"
android:layout_marginTop="48dp"
android:id="@+id/editText2"
android:singleLine="false"
android:layout_below="@+id/button2"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="match_parent"
android:layout_height="100dp"
android:inputType="textMultiLine"
android:ems="10"
android:layout_marginTop="50dp"
android:id="@+id/editText3"
android:layout_below="@+id/editText2"
android:layout_alignParentStart="true" />
</RelativeLayout>
MainActivity.java
package com.example.suiyantao.myapplication;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;
import org.json.JSONException;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
Button btn1, btn2;
Toast tst;
EditText text1, text2, text3;
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
public Action getIndexApiAction() {