openc2lib.types.base.binary_x

 1import base64
 2
 3from openc2lib.types.base.binary import Binary
 4
 5class Binaryx(Binary):
 6	""" OpenC2 Binary HEX data
 7
 8		Binary data that are expected to be encoded with hex 
 9		as defined in [RFC4648], Section 8 (Sec. 3.1.5).
10	"""
11
12	def __str__(self):
13		""" Returns base64 encoding """
14		if self._data is not None:
15			return base64.b16encode(self._data).decode('ascii')
16		else:
17			return ""
18			
19	def todict(self, e):
20		""" Encodes with base64 """
21		return base64.b16encode(self._data).decode('ascii')	
22
23	@classmethod
24	def fromdict(cls, dic, e):
25		""" Builds from base64encoding """
26		print("binary16 decoder")
27		print("cls: ", cls)
28		print("dic: ", dic)
29		print("e: ", e)
30		try:
31			print("value: ", dic)
32			print("ascii: ", dic.encode('ascii'))
33			return cls( base64.b16decode(dic.encode('ascii')) )
34		except:		
35			raise TypeError("Unexpected b16 value: ", dic)
class Binaryx(openc2lib.types.base.binary.Binary):
 6class Binaryx(Binary):
 7	""" OpenC2 Binary HEX data
 8
 9		Binary data that are expected to be encoded with hex 
10		as defined in [RFC4648], Section 8 (Sec. 3.1.5).
11	"""
12
13	def __str__(self):
14		""" Returns base64 encoding """
15		if self._data is not None:
16			return base64.b16encode(self._data).decode('ascii')
17		else:
18			return ""
19			
20	def todict(self, e):
21		""" Encodes with base64 """
22		return base64.b16encode(self._data).decode('ascii')	
23
24	@classmethod
25	def fromdict(cls, dic, e):
26		""" Builds from base64encoding """
27		print("binary16 decoder")
28		print("cls: ", cls)
29		print("dic: ", dic)
30		print("e: ", e)
31		try:
32			print("value: ", dic)
33			print("ascii: ", dic.encode('ascii'))
34			return cls( base64.b16decode(dic.encode('ascii')) )
35		except:		
36			raise TypeError("Unexpected b16 value: ", dic)

OpenC2 Binary HEX data

Binary data that are expected to be encoded with hex as defined in [RFC4648], Section 8 (Sec. 3.1.5).

def todict(self, e):
20	def todict(self, e):
21		""" Encodes with base64 """
22		return base64.b16encode(self._data).decode('ascii')	

Encodes with base64

@classmethod
def fromdict(cls, dic, e):
24	@classmethod
25	def fromdict(cls, dic, e):
26		""" Builds from base64encoding """
27		print("binary16 decoder")
28		print("cls: ", cls)
29		print("dic: ", dic)
30		print("e: ", e)
31		try:
32			print("value: ", dic)
33			print("ascii: ", dic.encode('ascii'))
34			return cls( base64.b16decode(dic.encode('ascii')) )
35		except:		
36			raise TypeError("Unexpected b16 value: ", dic)

Builds from base64encoding