1. 程式人生 > >AppScan安全檢測工具,檢測出的問題解決

AppScan安全檢測工具,檢測出的問題解決

package com.common.util;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import java.security.Key;
import java.security.SecureRandom;

public class DESUtil {
    Key key ;
    public DESUtil() {

    }
    public DESUtil(String str) {
        setKey(str); // 生成密匙
    }
    public Key getKey() {
        return key ;
    }
    public void setKey(Key key) {
        this . key = key;
    }
    public void setKey(String strKey) {
        try {
            KeyGenerator _generator = KeyGenerator.getInstance ( "DES" );
            _generator.init( new SecureRandom(strKey.getBytes("utf-8")));
            SecureRandom secureRandom= SecureRandom.getInstance("SHA1PRNG");
            secureRandom.setSeed(strKey.getBytes());
            _generator.init(56, secureRandom);
            this.key = _generator.generateKey();
            _generator = null ;
        } catch (Exception e) {
            throw new RuntimeException("Error initializing class. Cause: " + e);
        }
    }

    /**
     * 加密 String 明文輸入 ,String 密文輸出
     */
    public String encryptStr(String strMing) {
        byte [] byteMi = null ;
        byte [] byteMing = null ;
        String strMi = "" ;
        BASE64Encoder base64en = new BASE64Encoder();
        try {
            byteMing = strMing.getBytes( "UTF-8" );
            byteMi = this.encryptByte(byteMing);
            strMi = base64en.encode(byteMi);
        } catch (Exception e) {
            throw new RuntimeException("Error initializing class. Cause: " + e);
        } finally {
            base64en = null ;
            byteMing = null ;
            byteMi = null ;
        }
        return strMi;
    }

    /**
     * 解密 以 String 密文輸入 ,String 明文輸出
     *
     * @param strMi
     * @return
     */
    public String decryptStr(String strMi) {
        BASE64Decoder base64De = new BASE64Decoder();
        byte [] byteMing = null ;
        byte [] byteMi = null ;
        String strMing = "" ;
        try {
            byteMi = base64De.decodeBuffer(strMi);
            byteMing = this.decryptByte(byteMi);
            strMing = new String(byteMing, "UTF-8" );
        } catch (Exception e) {
            throw new RuntimeException("Error initializing class. Cause: " + e);
        } finally {
            base64De = null ;
            byteMing = null ;
            byteMi = null ;
        }
        return strMing;
    }

    /**
     * 加密以 byte[] 明文輸入 ,byte[] 密文輸出
     *
     * @param byteS
     * @return
     */
    private byte [] encryptByte( byte [] byteS) {
        byte [] byteFina = null ;
        Cipher cipher;
        try {
            cipher = Cipher.getInstance ( "DES" );
            cipher.init(Cipher.ENCRYPT_MODE , key );
            byteFina = cipher.doFinal(byteS);
        } catch (Exception e) {
            throw new RuntimeException("Error initializing class. Cause: " + e);
        } finally {
            cipher = null ;
        }
        return byteFina;
    }

    /**
     * 解密以 byte[] 密文輸入 , 以 byte[] 明文輸出
     *
     * @param byteD
     * @return
     */
    private byte [] decryptByte( byte [] byteD) {
        Cipher cipher;
        byte [] byteFina = null ;
        try {
            cipher = Cipher.getInstance ( "DES" );
            cipher.init(Cipher.DECRYPT_MODE , key );
            byteFina = cipher.doFinal(byteD);
        } catch (Exception e) {
            throw new RuntimeException("Error initializing class. Cause: " + e);
        } finally {
            cipher = null ;
        }
        return byteFina;
    }
    public static void main(String[] args) throws Exception {
        DESUtil des = new DESUtil("jrkj123");
        String str1 = "4cdbc040657a4847b2667e31d9e2c3d9" ;
        // DES 加密字串
        String str2 = des.encryptStr(str1);
        // DES 解密字串
        String deStr = des.decryptStr(str2);
        System. out .println( " 加密前: " + str1);
        System. out .println( " 加密後: " + str2);
        System. out .println( " 解密後: " + deStr);
    }
}

攔截器:

相關推薦

AppScan安全檢測工具檢測的問題解決

package com.common.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; impo

.NET Memory Profiler 託管環境記憶體檢測工具.net記憶體回收與Dispose﹐Close﹐Finalize方法

2.使用物件 3.釋放物件 二.建立物件 1.建立物件實際分為兩個步驟?變數型別宣告和初始化物件 2.變數型別宣告(declare),如? FileStream fs 這行程式碼會在當前的變數作用域空間(棧或堆)裡建立一個叫做fs的變數?至少四個位元組吧(因為要存一個物件的地址) 3.初始化物件

AppScan安全掃描工具-IBM Security App Scan Standard

1、AppScan是什麼?  AppScan是IBM的一款web安全掃描工具,可以利用爬蟲技術進行網站安全滲透測試,根據網站入口自動對網頁連結進行安全掃描,掃描之後會提供掃描報告和修復建議等。  AppScan有自己的用例庫,版本越新用例庫越全(用例庫越全面,對漏洞的檢測較全

全部python工具新鮮拿走不謝別客氣

一、Python網頁爬蟲工具集 Scrapy Beautiful Soup Python-Goose 小編髮python可是好勤快的,關注小編 1.尋求python 愛好者 2.目的學習 3.我提供的學習書籍,學習視訊,為了映照學習的氣

AppScan安全掃描工具之安裝及配置GlassBox

1、安裝Appscan高版本,不要問為什麼(高版本攻擊特徵庫會比較多);安裝破解版;複製破解檔案到安裝目錄,啟動Appscan 2、選單欄,點選配置選中GlassBox,配置GlassBox(配置的目的呢,就是比不配置GlassBox能找到更多web程式的漏洞) 3、啟

Halcon_Hough變換檢測直線檢測

read_image (Image, 'E:/Halcon_projects/Hough_LineCircle/HoughToFindLine.bmp') * Detect edges (amplitude) using the Sobel operator sobel_amp (Image, EdgeAmp

【騰訊優測】騰訊優測是備受客戶信賴的移動雲測試平臺為應用、遊戲H5混合應用的研發團隊提供產品質量檢測與問題解決服務。不僅在線上平臺提供「全面相容測試」、「原始碼缺陷分析」、「遠端真機租用」等多種質量檢測工具

騰訊優測 騰訊優測是備受客戶信賴的移動雲測試平臺,為應用、遊戲,H5混合應用的研發團隊提供產品質量檢測與問題解決服務。不僅在線上平臺提供「全面相容測試」、「原始碼缺陷分析」、「遠端真機租用」等多種質量檢測工具...

做微信H5活動經常用到的一個《微信域名屏蔽檢測工具由老牌微信服務商《微C》出品

微信域名檢測工具 微信域名屏蔽檢測工具 域名微信攔截檢測工具 微信域名檢測查封工具 微信域名攔截檢測工具 我的網站在微信推廣時,由於內容審核問題或者用戶投訴過多造成,有沒有遇到寶貴域名被微信封了?所以,我嘗試了很多的方案,最好的方法就是在被封之前能及時的切換新的域名,這裏給大家推薦一個微信

港中大、商湯開源目標檢測工具包mmdetection對比Detectron如何?

參加 2018 AI開發者大會,請點選 ↑↑↑ 近日,香港中文大學-商湯聯合實驗室開源了基於 PyTorch 的檢測庫——mmdetection。上個月,商湯和港中大組成的團隊在 COCO 比賽的物體檢測(Detection)專案中奪得冠軍,而 mmdetection 正是基

Teamviewer家庭免費版3-5分鐘阻斷檢測為商用解決辦法

首先介紹下目前市面上我已知的有四種: 1.修改Mac地址,清理登錄檔(此方法親測可用,但是耗時,一個不小心就得重灌系統) 2.更換id(此方法可行,但是容易過期,長期以往,難免感覺麻煩,耽誤工作進度) 3.網上下載綠色破解版(這種可以使用,但是很多時候莫名其妙就

解決git上新建開發分支後,IDEA工具沒有檢測到更新的分支的問題(小坑)

  博主今天在公司開發的時候,我的同事在伺服器上新建了分支給予我來開發,可是我沒有檢測到新建的分支,經過同事的幫忙,最終解決了這個問題,現在分享給大家:   1.同事給我在伺服器上新建了一個名為'51'的分支,可是博主字idea工具中沒有發現此分支,如下圖: &

linux上安全掃描系統的指令碼(自動掃描漏洞以及給解決方案)

請自行下載安裝包 lynis-master.zip 指令碼內容如下: cat   lynis.sh !#/bin/bash unzip lynis-master.zip  > /dev/null mv lynis-master  /etc

容器安全廠商Aqua推出開源的K8s安全檢測工具Kube

在Kubernetes逐漸踏入正式環境的同時,該專案的安全議題也成為企業所關注焦點。目標推動資訊安全,為公私部門減輕安全威脅的非營利組織CIS( Center for Internet Security)看見這股趨勢,也在近日推出了適用Kubernetes的Benchmark基準。而容器安全

Metasploit(安全漏洞檢測工具)v4.11.5官方版

Metasploit是一款強大好用的漏洞檢測工具,理論上可以支援所有主流的作業系統,可以有效地列舉出指定系統的漏洞,這樣使用者就可以有針對性的修復了,可以大大地提高個人計算機或者企業伺服器的安全,有從事網路管理行業的朋友不要錯過。 軟體說明: 一、搭建metasploit環境 Windo

Web 安全檢測工具的使用

1.Nikto2 它可以掃描指定主機的WEB型別、主機名、特定目錄、Cookie、特定CGI漏洞、XSS漏洞、sql、注入漏洞、返回主機允許的http方法等安全問題。 位置:/pentest/web

Spring 的優秀工具類盤點第 2 部分: 特殊字元轉義和方法入參檢測工具

特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特

夜神模擬已開啟adb命令檢測不了設備解決方法

自動化 分享 之前 重啟 設備 安卓 dev 解決方法 mage 日常APP測試中,很難擁有多種機型和各種安卓版本的手機,此時可以借助模擬器。 命令返回結果只有 “List of devices attached”,即代表檢測不了模擬器 最近在使用夜神模擬器的時候,遇到一個

給定單鏈表檢測是否有環。如果有環則求進入環的第一個節點

判斷單向連結串列是否有環,可以採用快指標與慢指標的方式來解決。即定義一個快指標fast和一個慢指標slow,使得fast每次跳躍兩個節點,slow每次跳躍一個節點。如果連結串列沒有環的話,則slow與fast永遠不會相遇(這裡連結串列至少有兩個節點);如果有環,則fast與slow將會在環中相遇。判斷出

Windows和Linux記憶體檢測工具:ValgrindVisual Leak DetectorCppCheck Cpplint

1 Linux記憶體洩漏檢測工具ValgrindValgrind簡介        Valgrind是一套Linux下,開放原始碼(GPL V2)的模擬除錯工具的集合。Valgrind由核心(core)以及基於核心的其他除錯工具組成。核心類似於一個框架(framework),

15款最好的Windows系統安全檢測工具

你想測試你的Widnows系統的安全性嗎? 如果你選對了工具,其實這是一件非常有趣的工作。如果你正為挑選合適的工具而苦惱,那就讓本文給你一些幫助吧。   關於安全測試工具,我發現大體上你都能購買到。然而,還有一些是免費的工具,沒有這些工具我會舉步維艱,所以我將兩種型別的工具一