我們已經成功獲取到唐詩的所有內容,之後需要插入資料庫。給每一首唐詩乙個唯一的id,避免資料庫的重複插入。
根據每一首詩的正文部分計算出乙個唯一的id。
(1)根據正文部分計算出乙個雜湊值,作為其id。
messagedigest messagedigest = messagedigest.getinstance (
"sha-256");
byte
bytes = content.getbytes (
"utf-8");
messagedigest.update (bytes)
;byte
result = messagedigest.digest ();
//求hash值
messagedigest 物件通過使用 update()方法處理資料。任何時候都可以呼叫 reset()方法重置摘要。一旦所有需要更新的資料都已經被更新了,應該呼叫digest() 方法之一完成雜湊計算。
(2)儲存資料用於後期插入資料庫。
system.out.println (
"標識長度:"
+ result.length)
;string sha256 ="";
for(
byte r : result)
system.out.println (
);
需要其長度用作後期資料庫建表時,設定元素長度。
messagedigest 類為應用程式提供資訊摘要演算法的功能,如 md5 或 sha 演算法。資訊摘要是安全的單向雜湊函式,它接收任意大小的資料,並輸出固定長度的雜湊值。
常用方法有:
(1) 返回實現指定摘要演算法的 messagedigest 物件。
public
static messagedigest getinstance
(string algorithm)
throws nosuchalgorithmexception
algorithm - 所請求演算法的名稱
(2) 返回實現指定摘要演算法的 messagedigest 物件。
public
static messagedigest getinstance
(string algorithm,
string provider)
throws nosuchalgorithmexception,nosuchproviderexception
algorithm - 所請求演算法的名稱
provider - 提供者的名稱。
(3)使用指定的 byte 陣列更新摘要。
public
void
update
(byte
input)
(4) 通過執行諸如填充之類的最終操作完成雜湊計算。在呼叫此方法之後,摘要被重置。
public
byte
digest
()
(5)比較兩個摘要的相等性。做簡單的位元組比較。
public
static
boolean
isequal
(byte
digesta,
byte
digestb)
如何根據資料庫快速生成開發中的每一層???
下面主要介紹如何使用mybatisplus生成各層 直接擼代。package xyz.mrzhangxd.basic.tool import com.baomidou.mybatisplus.annotation.dbtype import com.baomidou.mybatisplus.gene...
資料庫中的表以行和列來組織資料每一行稱為什麼
access2003資料庫中的表以行和列來組織資料,每一行稱為一條記錄,每一列稱為乙個字段。我們把表中的每一行叫做乙個 記錄 每乙個記錄包含這行中的所有資訊,就像在通訊錄資料庫中某個人全部的資訊,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。欄位是比記錄更小的單位,字段集...
計算乙個頁面中的資料庫查詢次數和用時
很多部落格軟體都有這麼乙個功能,比如 生成本次頁面一共花費了xx毫秒,進行了xx次資料庫查詢 等等。那麼這個功能是如何實現的呢,下面我大概說下思路。1.在類的建構函式中宣告全域性變數 定義乙個全域性變數 queries 用來統計頁面生成經過的資料庫查詢次數。1 function construct ...