真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java數(shù)據(jù)脫敏代碼 數(shù)據(jù) 脫敏

java加密解密代碼

package com.cube.limail.util;

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到增城網(wǎng)站設(shè)計(jì)與增城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋增城地區(qū)。

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.SecretKey;/**

* 加密解密類(lèi)

*/

public class Eryptogram

{

private static String Algorithm ="DES";

private String key="CB7A92E3D3491964";

//定義 加密算法,可用 DES,DESede,Blowfish

static boolean debug = false ;

/**

* 構(gòu)造子注解.

*/

public Eryptogram ()

{

} /**

* 生成密鑰

* @return byte[] 返回生成的密鑰

* @throws exception 扔出異常.

*/

public static byte [] getSecretKey () throws Exception

{

KeyGenerator keygen = KeyGenerator.getInstance (Algorithm );

SecretKey deskey = keygen.generateKey ();

System.out.println ("生成密鑰:"+bytesToHexString (deskey.getEncoded ()));

if (debug ) System.out.println ("生成密鑰:"+bytesToHexString (deskey.getEncoded ()));

return deskey.getEncoded ();

} /**

* 將指定的數(shù)據(jù)根據(jù)提供的密鑰進(jìn)行加密

* @param input 需要加密的數(shù)據(jù)

* @param key 密鑰

* @return byte[] 加密后的數(shù)據(jù)

* @throws Exception

*/

public static byte [] encryptData (byte [] input ,byte [] key ) throws Exception

{

SecretKey deskey = new javax.crypto.spec.SecretKeySpec (key ,Algorithm );

if (debug )

{

System.out.println ("加密前的二進(jìn)串:"+byte2hex (input ));

System.out.println ("加密前的字符串:"+new String (input ));

} Cipher c1 = Cipher.getInstance (Algorithm );

c1.init (Cipher.ENCRYPT_MODE ,deskey );

byte [] cipherByte =c1.doFinal (input );

if (debug ) System.out.println ("加密后的二進(jìn)串:"+byte2hex (cipherByte ));

return cipherByte ;

} /**

* 將給定的已加密的數(shù)據(jù)通過(guò)指定的密鑰進(jìn)行解密

* @param input 待解密的數(shù)據(jù)

* @param key 密鑰

* @return byte[] 解密后的數(shù)據(jù)

* @throws Exception

*/

public static byte [] decryptData (byte [] input ,byte [] key ) throws Exception

{

SecretKey deskey = new javax.crypto.spec.SecretKeySpec (key ,Algorithm );

if (debug ) System.out.println ("解密前的信息:"+byte2hex (input ));

Cipher c1 = Cipher.getInstance (Algorithm );

c1.init (Cipher.DECRYPT_MODE ,deskey );

byte [] clearByte =c1.doFinal (input );

if (debug )

{

System.out.println ("解密后的二進(jìn)串:"+byte2hex (clearByte ));

System.out.println ("解密后的字符串:"+(new String (clearByte )));

} return clearByte ;

} /**

* 字節(jié)碼轉(zhuǎn)換成16進(jìn)制字符串

* @param byte[] b 輸入要轉(zhuǎn)換的字節(jié)碼

* @return String 返回轉(zhuǎn)換后的16進(jìn)制字符串

*/

public static String byte2hex (byte [] b )

{

String hs ="";

String stmp ="";

for (int n =0 ;n b.length ;n ++)

{

stmp =(java.lang.Integer.toHexString (b [n ] 0XFF ));

if (stmp.length ()==1 ) hs =hs +"0"+stmp ;

else hs =hs +stmp ;

if (n b.length -1 ) hs =hs +":";

} return hs.toUpperCase ();

}

/**

* 字符串轉(zhuǎn)成字節(jié)數(shù)組.

* @param hex 要轉(zhuǎn)化的字符串.

* @return byte[] 返回轉(zhuǎn)化后的字符串.

*/

public static byte[] hexStringToByte(String hex) {

int len = (hex.length() / 2);

byte[] result = new byte[len];

char[] achar = hex.toCharArray();

for (int i = 0; i len; i++) {

int pos = i * 2;

result[i] = (byte) (toByte(achar[pos]) 4 | toByte(achar[pos + 1]));

}

return result;

}

private static byte toByte(char c) {

byte b = (byte) "0123456789ABCDEF".indexOf(c);

return b;

}

/**

* 字節(jié)數(shù)組轉(zhuǎn)成字符串.

* @param String 要轉(zhuǎn)化的字符串.

* @return 返回轉(zhuǎn)化后的字節(jié)數(shù)組.

*/

public static final String bytesToHexString(byte[] bArray) {

StringBuffer sb = new StringBuffer(bArray.length);

String sTemp;

for (int i = 0; i bArray.length; i++) {

sTemp = Integer.toHexString(0xFF bArray[i]);

if (sTemp.length() 2)

sb.append(0);

sb.append(sTemp.toUpperCase());

}

return sb.toString();

}

/**

* 從數(shù)據(jù)庫(kù)中獲取密鑰.

* @param deptid 企業(yè)id.

* @return 要返回的字節(jié)數(shù)組.

* @throws Exception 可能拋出的異常.

*/

public static byte[] getSecretKey(long deptid) throws Exception {

byte[] key=null;

String value=null;

//CommDao dao=new CommDao();

// List list=dao.getRecordList("from Key k where k.deptid="+deptid);

//if(list.size()0){

//value=((com.csc.sale.bean.Key)list.get(0)).getKey();

value = "CB7A92E3D3491964";

key=hexStringToByte(value);

//}

if (debug)

System.out.println("密鑰:" + value);

return key;

}

public String encryptData2(String data) {

String en = null;

try {

byte[] key=hexStringToByte(this.key);

en = bytesToHexString(encryptData(data.getBytes(),key));

} catch (Exception e) {

e.printStackTrace();

}

return en;

}

public String decryptData2(String data) {

String de = null;

try {

byte[] key=hexStringToByte(this.key);

de = new String(decryptData(hexStringToByte(data),key));

} catch (Exception e) {

e.printStackTrace();

}

return de;

}

} 加密使用: byte[] key=Eryptogram.getSecretKey(deptid); //獲得鑰匙(字節(jié)數(shù)組)

byte[] tmp=Eryptogram.encryptData(password.getBytes(), key); //傳入密碼和鑰匙,獲得加密后的字節(jié)數(shù)組的密碼

password=Eryptogram.bytesToHexString(tmp); //將字節(jié)數(shù)組轉(zhuǎn)化為字符串,獲得加密后的字符串密碼解密與之差不多

如何用Java實(shí)現(xiàn)數(shù)據(jù)脫敏

尚學(xué)堂回答:敏感數(shù)據(jù)(如信用卡號(hào)碼)、個(gè)人識(shí)別信息(如社會(huì)安全號(hào)碼)、醫(yī)療診斷和甚至非個(gè)人的敏感數(shù)據(jù)(例如公司財(cái)務(wù)信息和知識(shí)產(chǎn)權(quán))的曝光,是由于企業(yè)員工和外部人士濫用職權(quán)或工作失誤所致?!睌?shù)據(jù)脫敏技術(shù)的目是通過(guò)從客戶(hù)端隱藏敏感數(shù)據(jù),以防止這些數(shù)據(jù)的濫用。技術(shù)供應(yīng)商提供了多種數(shù)據(jù)脫敏技術(shù),例如用相似的字符替代一些字段;用屏蔽字符(例如,‘x’)替代字符;用虛擬的姓氏替代真正的姓氏,以及在數(shù)據(jù)庫(kù)數(shù)列中對(duì)數(shù)據(jù)進(jìn)行重組。數(shù)據(jù)脫敏也被稱(chēng)為數(shù)據(jù)混淆、數(shù)據(jù)保密、數(shù)據(jù)消毒、數(shù)據(jù)擾頻、數(shù)據(jù)匿名化和數(shù)據(jù)認(rèn)證。采用數(shù)據(jù)脫敏技術(shù),可以幫助企業(yè)提高安全性和保密等級(jí),以防止其數(shù)據(jù)被濫用。與此同時(shí),數(shù)據(jù)脫敏技術(shù)也可幫助企業(yè)滿(mǎn)足安全性的規(guī)范要求,以及由管理/審計(jì)機(jī)關(guān)所要求的隱私標(biāo)準(zhǔn)。

Java項(xiàng)目中如何實(shí)現(xiàn)數(shù)據(jù)的安全性,比如安全鎖之類(lèi)的,求代碼

您好,提問(wèn)者:

1、重要信息進(jìn)行加密操作。

2、地址欄盡量采用post提交方式。

3、如果涉及多線程的話,可以使用Synchronized鎖。

下面例子:

public?class?Main{

public?static?void?main(String[]?args){

new?Thread(new?Suo()).start();

new?Thread(new?Suo()).start();

//開(kāi)啟兩個(gè)線程,加鎖之后數(shù)據(jù)就不會(huì)出錯(cuò)

}

}

class?Suo?implements?Runnable{

private?static?int?num?=?100;

public?synchronized?void?run(){

while(true){

if(num==0)

break;

else

System.out.println(num--);

}

}

}

java 手機(jī)號(hào)脫敏處理 真實(shí)值怎么存放

輸入正確的手機(jī)號(hào),點(diǎn)擊獲取驗(yàn)證碼1,請(qǐng)求后臺(tái),隨機(jī)生成一個(gè)驗(yàn)證碼(位數(shù)自定)2,保存到數(shù)據(jù)庫(kù)中,同時(shí)發(fā)送短信(供應(yīng)商會(huì)提供接口)3,頁(yè)面上填寫(xiě)驗(yàn)證碼,請(qǐng)求到后臺(tái),查詢(xún)數(shù)據(jù)庫(kù),是否一致

java數(shù)據(jù)脫敏了還能還原嗎

能。java數(shù)據(jù)脫敏了是能還原的,需要管理數(shù)據(jù)的流入來(lái)還原脫敏前的數(shù)據(jù)。Java是一門(mén)面向?qū)ο蟮木幊陶Z(yǔ)言,不僅吸收了C語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C語(yǔ)言里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。

如何用java實(shí)現(xiàn)數(shù)據(jù)脫敏

數(shù)據(jù)脫敏是指對(duì)某些敏感信息通過(guò)脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)。在涉及客戶(hù)安全數(shù)據(jù)或者一些商業(yè)性敏感數(shù)據(jù)的情況下,在不違反系統(tǒng)規(guī)則條件下,對(duì)真實(shí)數(shù)據(jù)進(jìn)行改造并提供測(cè)試使用,如身份證號(hào)、手機(jī)號(hào)、卡號(hào)、客戶(hù)號(hào)等個(gè)人信息都需要進(jìn)行數(shù)據(jù)脫敏,數(shù)據(jù)庫(kù)安全技術(shù)之一。

比如我們現(xiàn)在有個(gè)user表,含有名字,性別,郵箱,電話號(hào)碼等字段,但是當(dāng)查看這些數(shù)據(jù)時(shí),我們又不希望這些數(shù)據(jù)被暴露,這時(shí)可以對(duì)這些數(shù)據(jù)進(jìn)行脫敏處理,當(dāng)然可以根據(jù)需要選擇哪些字段需要脫敏,然后再輸出,至于怎么選擇的,是另外一回事了。


文章標(biāo)題:Java數(shù)據(jù)脫敏代碼 數(shù)據(jù) 脫敏
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/hjsoid.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部