Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바스크립트
- oracle
- 자바스크립트 prototype
- 보안뉴스한줄요약
- 자바스크립트 API
- 오라클
- javascript
- 깃허브
- 파이썬
- 보안뉴스요약
- 랜섬웨어
- oracle db
- 자바스크립트 기본 문법
- 카카오프로젝트
- 자바스크립트 객체
- numpy
- 자바스크립트 jQuery
- 자바스크립트 node
- 보안뉴스
- 카카오프로젝트 100
- 보안뉴스 한줄요약
- 자바스크립트 element api
- Oracle SQL
- 카카오프로젝트100
- 다크웹
- python
- GIT
- php
- 보안뉴스 요약
- ES6
Archives
- Today
- Total
FU11M00N
[ Python ] python SHA512값 구하기 , SHA512 특징, SHA512 처리 단계 , 본문
- SHA 매개변수 특징
- SAH512 특징
- 입력메시지 크기
최대 길이가 2 ^128 비트 이하인 메세지
- 출력
512비트 해시
- 처리 단위
1024비트 블록
- SHA-512 처리 단계
1단계 : 패딩 비트 붙이기(Appending padding bits)
2단계 : 길이 붙이기(Append length)
3단계 : MD 버퍼 초기화(Initialize MD buffer)
4단계 : 1024-비트 블록 메시지 처리 (Process message in 1024-bit blocks)
5단계 : 출력(Output)
- 패딩 비트 붙이기
- 길이 붙이기
• 128 비트 블록을 메시지에 추가
- pycryptodome
암호화 라이브러리 pycryptodome 다운로드사용자로부터 받은 입력 데이터들을 파이썬에서 암호화할려면 어떻게해야할까요?
pip install pycrytodome
conda install pycryptodome
위와같이 입력을하면 라이브러리 설치가 가능합니다.
저는 conda도 있기때문에 두개 아무거나 써도 상관이 없습니다.
위의 명령어중 하나를 입력하시면 라이브러리가 설치됩니다.
prcryptodome은 기존의 pycryto를 대체하기위해 개선된 라이브러리로 기존 코드와 호환됩니다.
- Sample Code
from Crypto.Hash import SHA512
import base64
def get_hash(msg):
sha = SHA512.new()
sha.update(msg)
hv = sha.digest()
return hv
def main():
msg = 'I Love *Python*'
hv = get_hash(msg.encode())
hv_txt = base64.b64encode(hv)
hv_txt_bin = base64.b64decode(hv_txt)
if hv == hv_txt_bin:
print('Same')
else:
print('Not Same')
print('hv :' , hv)
print('hv_txt :' , hv_txt)
print('hv_txt_bin :' , hv_txt_bin)
main()
'Programming > Python' 카테고리의 다른 글
[ Python ] 파이썬 Diffie-Hellman 구현 (0) | 2021.05.21 |
---|---|
[ Python ] RC4 알고리즘 (0) | 2021.04.08 |
[ Python ] 아나콘다 (Anaconda) 설치하기. (0) | 2021.03.12 |
[Python] 연산자 오버로딩 (0) | 2020.11.24 |
[Python] Property (0) | 2020.11.24 |
Comments